Added documentation for workspace rules (#208)

* added documentation for workspace rules

* added ref from Monitors.md + fixed reflinks

* fixed workspace-rules table

---------

Co-authored-by: Alessio Molinari <alessiomolinari@gmail.com>
This commit is contained in:
levnikmyskin 2023-05-01 23:28:16 +02:00 committed by GitHub
parent 9598eb24ae
commit 2cfac6c3af
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 45 additions and 2 deletions

View file

@ -177,7 +177,8 @@ workspace = DP-2, name:work
``` ```
Please remember only one default workspace can be created per monitor, subsequent sets for Please remember only one default workspace can be created per monitor, subsequent sets for
the same monitor will overwrite the previous. the same monitor will overwrite the previous.
Notice, you can also use this keyword to set workspace-specific rules. See [Workspace Rules](../Workspace-Rules).
## Binding workspaces to a monitor ## Binding workspaces to a monitor
A workspace can be bound to a monitor, meaning by default it will ALWAYS open A workspace can be bound to a monitor, meaning by default it will ALWAYS open
@ -190,4 +191,5 @@ for example:
``` ```
wsbind=5,DP-1 wsbind=5,DP-1
wsbind=name:secret,DP-2 wsbind=name:secret,DP-2
``` ```

View file

@ -0,0 +1,41 @@
# Table of contents
{{< toc >}}
# Workspace Rules
You can set workspace rules to achieve workspace-specific behaviors. For instance, you can define a workspace where all windows are drawn without borders or gaps.
## Syntax
```ini
workspace=MONITOR,WORKSPACE,RULES
```
- MONITOR is a valid monitor identifier (see [Monitors](../Monitors)). You can use this rule to set the default workspace for the given monitor (see [Monitors->Default Workspace](../Monitors#default-workspace)). This field is optional and can be omitted entirely;
- WORKSPACE is a valid workspace identifier (see [Dispatchers->Workspaces](../Dispatchers#workspaces)). This field is mandatory;
- RULES is one (or more) rule(s) as described here in [rules](#rules).
### Examples
```ini
workspace=name:myworkspace,gapsin:0,gapsout:0
workspace=DP-1,3,rounding:false,bordersize:0
```
## Rules
| Rule | Description | type|
| ---- | ----------- | ----|
| gapsin:[x] | Set the gaps between windows (equivalent to [General->gaps_in](../Variables#general)) | int |
| gapsout:[x] | Set the gaps between windows and monitor edges (equivalent to [General->gaps_out](../Variables#general)) | int |
| bordersize:[x] | Set the border size around windows (equivalent to [General->border_size](../Variables#general)) | int |
| border:[b]| Whether to draw borders or not| bool |
| rounding:[b] |Whether to draw rounded windows or not | bool |
| decorate:[b] | Whether to draw window decorations or not | bool |
| monitor:[m] | Monitor identifier. This is equivalent to the first MONITOR argument. See [syntax](#syntax) and [Monitors](../Monitors).| string |
### Example Rules
```ini
workspace=3, rounding:false, decorate:false
workspace=name:coding, rounding:false, decorate:false, gapsin:0, gapsout:0, border:false, decorate:false, monitor:DP-1
workspace=DP-1, 2
workspace=8,bordersize:8
```