docs(config): document output transforms
- commit
- 1c259aed711854c084199593ec006ed3deef2f2d
- author
- brice · · 2026-10-03 18:47 UTC
- parent
- 5343c40
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +4 -0
M docs/config.md +4 -0
| @@ -55,6 +55,7 @@ NeferWL reads `$XDG_CONFIG_HOME/neferwl/config` (or `~/.config/neferwl/config`). | |||
| 55 | 55 | | `workspace.<name>.column.<N>` | none | Slot: `<width>, <command>` | | |
| 56 | 56 | | `output.<name>` | preferred | `WxH`, `WxH@Hz`, `preferred` or `off` | | |
| 57 | 57 | | `output.<name>.scale` | `1` | 1 to 4, e.g. `1.5` or `4/3` | | |
| 58 | + | | `output.<name>.transform` | `normal` | `normal`, `90`, `180`, `270`, `flipped`, `flipped-90`, `flipped-180`, `flipped-270`; 90/270 swap the output's width and height | | |
| 58 | 59 | | `output.<name>.primary` | `off` | Gets focus and pointer at startup | | |
| 59 | 60 | | `output.<name>.right-of` / `.left-of` / `.above` / `.below` | automatic | Connector to place the output against, e.g. `DP-1` | | |
| 60 | 61 | | `output.<name>.offset` | `0` | Logical px along the shared edge, −65536 to 65536; see [Output placement](#output-placement) | | |
| @@ -74,6 +75,7 @@ Without relations, outputs sit left to right in config order, top-aligned. A rel | |||
| 74 | 75 | ```ini | |
| 75 | 76 | output.DP-2.right-of = DP-1 | |
| 76 | 77 | output.DP-2.offset = 360 # DP-2 starts 360 px lower than DP-1's top | |
| 78 | + | # output.DP-2.transform = 90 # DP-2 is rotated: 1080 wide, 1920 tall | |
| 77 | 79 | ``` | |
| 78 | 80 | ||
| 79 | 81 | ``` | |
| @@ -85,6 +87,8 @@ output.DP-2.offset = 360 # DP-2 starts 360 px lower than DP-1's top | |||
| 85 | 87 | └────────────┘ | |
| 86 | 88 | ``` | |
| 87 | 89 | ||
| 90 | + | Placement, offsets and monitor navigation use the rotated size: a 2560x1440 output with `transform = 90` is 1440 wide and 2560 tall at scale 1. Rotated outputs always compose, with no direct scanout or overlay planes. | |
| 91 | + | ||
| 88 | 92 | Rules: | |
| 89 | 93 | ||
| 90 | 94 | - `offset` moves down for `right-of`/`left-of` and right for `above`/`below`; negative moves the other way. | |
| @@ -55,6 +55,7 @@ NeferWL reads `$XDG_CONFIG_HOME/neferwl/config` (or `~/.config/neferwl/config`). | |||||
| 55 | | `workspace.<name>.column.<N>` | none | Slot: `<width>, <command>` | | 55 | | `workspace.<name>.column.<N>` | none | Slot: `<width>, <command>` | | ||
| 56 | | `output.<name>` | preferred | `WxH`, `WxH@Hz`, `preferred` or `off` | | 56 | | `output.<name>` | preferred | `WxH`, `WxH@Hz`, `preferred` or `off` | | ||
| 57 | | `output.<name>.scale` | `1` | 1 to 4, e.g. `1.5` or `4/3` | | 57 | | `output.<name>.scale` | `1` | 1 to 4, e.g. `1.5` or `4/3` | | ||
| 58 | + | | `output.<name>.transform` | `normal` | `normal`, `90`, `180`, `270`, `flipped`, `flipped-90`, `flipped-180`, `flipped-270`; 90/270 swap the output's width and height | | |||
| 58 | | `output.<name>.primary` | `off` | Gets focus and pointer at startup | | 59 | | `output.<name>.primary` | `off` | Gets focus and pointer at startup | | ||
| 59 | | `output.<name>.right-of` / `.left-of` / `.above` / `.below` | automatic | Connector to place the output against, e.g. `DP-1` | | 60 | | `output.<name>.right-of` / `.left-of` / `.above` / `.below` | automatic | Connector to place the output against, e.g. `DP-1` | | ||
| 60 | | `output.<name>.offset` | `0` | Logical px along the shared edge, −65536 to 65536; see [Output placement](#output-placement) | | 61 | | `output.<name>.offset` | `0` | Logical px along the shared edge, −65536 to 65536; see [Output placement](#output-placement) | | ||
| @@ -74,6 +75,7 @@ Without relations, outputs sit left to right in config order, top-aligned. A rel | |||||
| 74 | ```ini | 75 | ```ini | ||
| 75 | output.DP-2.right-of = DP-1 | 76 | output.DP-2.right-of = DP-1 | ||
| 76 | output.DP-2.offset = 360 # DP-2 starts 360 px lower than DP-1's top | 77 | output.DP-2.offset = 360 # DP-2 starts 360 px lower than DP-1's top | ||
| 78 | + | # output.DP-2.transform = 90 # DP-2 is rotated: 1080 wide, 1920 tall | |||
| 77 | ``` | 79 | ``` | ||
| 78 | 80 | ||||
| 79 | ``` | 81 | ``` | ||
| @@ -85,6 +87,8 @@ output.DP-2.offset = 360 # DP-2 starts 360 px lower than DP-1's top | |||||
| 85 | └────────────┘ | 87 | └────────────┘ | ||
| 86 | ``` | 88 | ``` | ||
| 87 | 89 | ||||
| 90 | + | Placement, offsets and monitor navigation use the rotated size: a 2560x1440 output with `transform = 90` is 1440 wide and 2560 tall at scale 1. Rotated outputs always compose, with no direct scanout or overlay planes. | |||
| 91 | + | ||||
| 88 | Rules: | 92 | Rules: | ||
| 89 | 93 | ||||
| 90 | - `offset` moves down for `right-of`/`left-of` and right for `above`/`below`; negative moves the other way. | 94 | - `offset` moves down for `right-of`/`left-of` and right for `above`/`below`; negative moves the other way. | ||