mirror of
https://github.com/YaLTeR/niri.git
synced 2025-10-05 16:12:47 +02:00
wiki: Document per-output and per-workspace layout overrides
This commit is contained in:
@@ -29,6 +29,7 @@ layout {
|
||||
|
||||
focus-ring {
|
||||
// off
|
||||
on
|
||||
width 4
|
||||
active-color "#7fc8ff"
|
||||
inactive-color "#505050"
|
||||
@@ -40,6 +41,7 @@ layout {
|
||||
|
||||
border {
|
||||
off
|
||||
// on
|
||||
width 4
|
||||
active-color "#ffc87f"
|
||||
inactive-color "#505050"
|
||||
@@ -50,6 +52,7 @@ layout {
|
||||
}
|
||||
|
||||
shadow {
|
||||
off
|
||||
// on
|
||||
softness 30
|
||||
spread 5
|
||||
@@ -61,6 +64,7 @@ layout {
|
||||
|
||||
tab-indicator {
|
||||
// off
|
||||
on
|
||||
hide-when-single-tab
|
||||
place-within-column
|
||||
gap 5
|
||||
@@ -79,6 +83,7 @@ layout {
|
||||
|
||||
insert-hint {
|
||||
// off
|
||||
on
|
||||
color "#ffc87f80"
|
||||
// gradient from="#ffbb6680" to="#ffc88080" angle=45 relative-to="workspace-view"
|
||||
}
|
||||
@@ -92,6 +97,8 @@ layout {
|
||||
}
|
||||
```
|
||||
|
||||
<sup>Since: next release</sup> You can override these settings for specific [outputs](./Configuration:-Outputs.md#layout-config-overrides) and [named workspaces](./Configuration:-Named-Workspaces.md#layout-config-overrides).
|
||||
|
||||
### `gaps`
|
||||
|
||||
Set gaps around (inside and outside) windows in logical pixels.
|
||||
@@ -550,4 +557,4 @@ layout {
|
||||
}
|
||||
```
|
||||
|
||||
You can also set the color per-output [in the output config](./Configuration:-Outputs.md#background-color).
|
||||
You can also set the color per-output [in the output config](./Configuration:-Outputs.md#layout-config-overrides).
|
||||
|
@@ -45,3 +45,53 @@ Before, it could only use the connector name.
|
||||
<sup>Since: 25.02</sup> Named workspaces no longer update/forget their original output when opening a new window on them (unnamed workspaces will keep doing that).
|
||||
This means that named workspaces "stick" to their original output in more cases, reflecting their more permanent nature.
|
||||
Explicitly moving a named workspace to a different monitor will still update its original output.
|
||||
|
||||
### Layout config overrides
|
||||
|
||||
<sup>Since: next release</sup>
|
||||
|
||||
You can customize layout settings for named workspaces with a `layout {}` block:
|
||||
|
||||
```kdl
|
||||
workspace "aesthetic" {
|
||||
// Layout config overrides just for this named workspace.
|
||||
layout {
|
||||
gaps 32
|
||||
|
||||
struts {
|
||||
left 64
|
||||
right 64
|
||||
bottom 64
|
||||
top 64
|
||||
}
|
||||
|
||||
border {
|
||||
on
|
||||
width 4
|
||||
}
|
||||
|
||||
// ...any other setting.
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
It accepts all the same options as [the top-level `layout {}` block](./Configuration:-Layout.md), except:
|
||||
|
||||
- `empty-workspace-above-first`: this is an output-level setting, doesn't make sense on a workspace.
|
||||
- `insert-hint`: currently we always draw these at the output level, so it's not customizable per-workspace.
|
||||
|
||||
In order to unset a flag, write it with `false`, e.g.:
|
||||
|
||||
```kdl
|
||||
layout {
|
||||
// Enabled globally.
|
||||
always-center-single-column
|
||||
}
|
||||
|
||||
workspace "uncentered" {
|
||||
layout {
|
||||
// Unset on this workspace.
|
||||
always-center-single-column false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
@@ -14,7 +14,6 @@ output "eDP-1" {
|
||||
position x=1280 y=0
|
||||
variable-refresh-rate // on-demand=true
|
||||
focus-at-startup
|
||||
background-color "#003300"
|
||||
backdrop-color "#001100"
|
||||
|
||||
hot-corners {
|
||||
@@ -24,6 +23,10 @@ output "eDP-1" {
|
||||
// bottom-left
|
||||
// bottom-right
|
||||
}
|
||||
|
||||
layout {
|
||||
// ...layout settings for eDP-1...
|
||||
}
|
||||
}
|
||||
|
||||
output "HDMI-A-1" {
|
||||
@@ -205,6 +208,8 @@ This is visible when you're not using any background tools like swaybg.
|
||||
|
||||
<sup>Until: 25.05</sup> The alpha channel for this color will be ignored.
|
||||
|
||||
<sup>Since: next release</sup> This setting is deprecated, set `background-color` in the [output `layout {}` block](#layout-config-overrides) instead.
|
||||
|
||||
```kdl
|
||||
output "HDMI-A-1" {
|
||||
background-color "#003300"
|
||||
@@ -253,3 +258,55 @@ output "DP-2" {
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Layout config overrides
|
||||
|
||||
<sup>Since: next release</sup>
|
||||
|
||||
You can customize layout settings for an output with a `layout {}` block:
|
||||
|
||||
```kdl
|
||||
output "SomeCompany VerticalMonitor 1234" {
|
||||
transform "90"
|
||||
|
||||
// Layout config overrides just for this output.
|
||||
layout {
|
||||
default-column-width { proportion 1.0; }
|
||||
|
||||
// ...any other setting.
|
||||
}
|
||||
}
|
||||
|
||||
output "SomeCompany UltrawideMonitor 1234" {
|
||||
// Narrower proportions and more presets for an ultrawide.
|
||||
layout {
|
||||
default-column-width { proportion 0.25; }
|
||||
|
||||
preset-column-widths {
|
||||
proportion 0.2
|
||||
proportion 0.25
|
||||
proportion 0.5
|
||||
proportion 0.75
|
||||
proportion 0.8
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
It accepts all the same options as [the top-level `layout {}` block](./Configuration:-Layout.md).
|
||||
|
||||
In order to unset a flag, write it with `false`, e.g.:
|
||||
|
||||
```kdl
|
||||
layout {
|
||||
// Enabled globally.
|
||||
always-center-single-column
|
||||
}
|
||||
|
||||
output "eDP-1" {
|
||||
layout {
|
||||
// Unset on this output.
|
||||
always-center-single-column false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
Reference in New Issue
Block a user