summaryrefslogtreecommitdiffstats
path: root/.config/niri/layout.kdl
diff options
context:
space:
mode:
authorPavel Egorov <[email protected]>2025-12-08 23:42:01 +0300
committerPavel Egorov <[email protected]>2025-12-08 23:42:01 +0300
commitd659eb4c3003a12daac7094e65a74f017d519ca9 (patch)
tree7695289f429b0091ec2976fd52c6ca13396744e3 /.config/niri/layout.kdl
parentbddf31d3aeab20782b443f2be98c957e57d90e75 (diff)
downloaddotfiles-d659eb4c3003a12daac7094e65a74f017d519ca9.tar.gz
dotfiles-d659eb4c3003a12daac7094e65a74f017d519ca9.zip
[niri] split config into separate files
Diffstat (limited to '')
-rw-r--r--.config/niri/layout.kdl156
1 files changed, 156 insertions, 0 deletions
diff --git a/.config/niri/layout.kdl b/.config/niri/layout.kdl
new file mode 100644
index 0000000..646ee56
--- /dev/null
+++ b/.config/niri/layout.kdl
@@ -0,0 +1,156 @@
1// Settings that influence how windows are positioned and sized.
2// Find more information on the wiki:
3// https://yalter.github.io/niri/Configuration:-Layout
4layout {
5 // Set gaps around windows in logical pixels.
6 gaps 16
7
8 // When to center a column when changing focus, options are:
9 // - "never", default behavior, focusing an off-screen column will keep at the left
10 // or right edge of the screen.
11 // - "always", the focused column will always be centered.
12 // - "on-overflow", focusing a column will center it if it doesn't fit
13 // together with the previously focused column.
14 center-focused-column "never"
15
16 // You can customize the widths that "switch-preset-column-width" (Mod+R) toggles between.
17 preset-column-widths {
18 // Proportion sets the width as a fraction of the output width, taking gaps into account.
19 // For example, you can perfectly fit four windows sized "proportion 0.25" on an output.
20 // The default preset widths are 1/3, 1/2 and 2/3 of the output.
21 proportion 0.33333
22 proportion 0.5
23 proportion 0.66667
24
25 // Fixed sets the width in logical pixels exactly.
26 // fixed 1920
27 }
28
29 // You can also customize the heights that "switch-preset-window-height" (Mod+Shift+R) toggles between.
30 // preset-window-heights { }
31
32 // You can change the default width of the new windows.
33 default-column-width { proportion 0.5; }
34 // If you leave the brackets empty, the windows themselves will decide their initial width.
35 // default-column-width {}
36
37 // By default focus ring and border are rendered as a solid background rectangle
38 // behind windows. That is, they will show up through semitransparent windows.
39 // This is because windows using client-side decorations can have an arbitrary shape.
40 //
41 // If you don't like that, you should uncomment `prefer-no-csd` below.
42 // Niri will draw focus ring and border *around* windows that agree to omit their
43 // client-side decorations.
44 //
45 // Alternatively, you can override it with a window rule called
46 // `draw-border-with-background`.
47
48 // You can change how the focus ring looks.
49 focus-ring {
50 // Uncomment this line to disable the focus ring.
51 // off
52
53 // How many logical pixels the ring extends out from the windows.
54 width 4
55
56 // Colors can be set in a variety of ways:
57 // - CSS named colors: "red"
58 // - RGB hex: "#rgb", "#rgba", "#rrggbb", "#rrggbbaa"
59 // - CSS-like notation: "rgb(255, 127, 0)", rgba(), hsl() and a few others.
60
61 // Color of the ring on the active monitor.
62 active-color "#7fc8ff"
63
64 // Color of the ring on inactive monitors.
65 //
66 // The focus ring only draws around the active window, so the only place
67 // where you can see its inactive-color is on other monitors.
68 inactive-color "#505050"
69
70 // You can also use gradients. They take precedence over solid colors.
71 // Gradients are rendered the same as CSS linear-gradient(angle, from, to).
72 // The angle is the same as in linear-gradient, and is optional,
73 // defaulting to 180 (top-to-bottom gradient).
74 // You can use any CSS linear-gradient tool on the web to set these up.
75 // Changing the color space is also supported, check the wiki for more info.
76 //
77 // active-gradient from="#80c8ff" to="#c7ff7f" angle=45
78
79 // You can also color the gradient relative to the entire view
80 // of the workspace, rather than relative to just the window itself.
81 // To do that, set relative-to="workspace-view".
82 //
83 // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
84 }
85
86 // You can also add a border. It's similar to the focus ring, but always visible.
87 border {
88 // The settings are the same as for the focus ring.
89 // If you enable the border, you probably want to disable the focus ring.
90 off
91
92 width 4
93 active-color "#ffc87f"
94 inactive-color "#505050"
95
96 // Color of the border around windows that request your attention.
97 urgent-color "#9b0000"
98
99 // Gradients can use a few different interpolation color spaces.
100 // For example, this is a pastel rainbow gradient via in="oklch longer hue".
101 //
102 // active-gradient from="#e5989b" to="#ffb4a2" angle=45 relative-to="workspace-view" in="oklch longer hue"
103
104 // inactive-gradient from="#505050" to="#808080" angle=45 relative-to="workspace-view"
105 }
106
107 // You can enable drop shadows for windows.
108 shadow {
109 // Uncomment the next line to enable shadows.
110 // on
111
112 // By default, the shadow draws only around its window, and not behind it.
113 // Uncomment this setting to make the shadow draw behind its window.
114 //
115 // Note that niri has no way of knowing about the CSD window corner
116 // radius. It has to assume that windows have square corners, leading to
117 // shadow artifacts inside the CSD rounded corners. This setting fixes
118 // those artifacts.
119 //
120 // However, instead you may want to set prefer-no-csd and/or
121 // geometry-corner-radius. Then, niri will know the corner radius and
122 // draw the shadow correctly, without having to draw it behind the
123 // window. These will also remove client-side shadows if the window
124 // draws any.
125 //
126 // draw-behind-window true
127
128 // You can change how shadows look. The values below are in logical
129 // pixels and match the CSS box-shadow properties.
130
131 // Softness controls the shadow blur radius.
132 softness 30
133
134 // Spread expands the shadow.
135 spread 5
136
137 // Offset moves the shadow relative to the window.
138 offset x=0 y=5
139
140 // You can also change the shadow color and opacity.
141 color "#0007"
142 }
143
144 // Struts shrink the area occupied by windows, similarly to layer-shell panels.
145 // You can think of them as a kind of outer gaps. They are set in logical pixels.
146 // Left and right struts will cause the next window to the side to always be visible.
147 // Top and bottom struts will simply add outer gaps in addition to the area occupied by
148 // layer-shell panels and regular gaps.
149 struts {
150 // left 64
151 // right 64
152 // top 64
153 // bottom 64
154 }
155}
156