at main 8.9 kB view raw
1// This config is in the KDL format: https://kdl.dev 2// "/-" comments out the following node. 3// Check the wiki for a full description of the configuration: 4// https://yalter.github.io/niri/Configuration:-Introduction 5 6// Input device configuration. 7// Find the full list of options on the wiki: 8// https://yalter.github.io/niri/Configuration:-Input 9 10prefer-no-csd 11 12input { 13 keyboard { 14 repeat-rate 50 15 repeat-delay 200 16 xkb { 17 } 18 numlock 19 } 20 21 touchpad { 22 tap 23 // dwt 24 // dwtp 25 // drag false 26 // drag-lock 27 // natural-scroll 28 // accel-speed 0.2 29 // accel-profile "flat" 30 // scroll-method "two-finger" 31 // disabled-on-external-mouse 32 } 33 34 mouse { 35 // off 36 // natural-scroll 37 accel-speed -0.65 38 accel-profile "flat" 39 // scroll-method "no-scroll" 40 } 41 42 trackpoint { 43 } 44 45 // Uncomment this to make the mouse warp to the center of newly focused windows. 46 // warp-mouse-to-focus 47 48 focus-follows-mouse max-scroll-amount="0%" 49} 50 51// https://yalter.github.io/niri/Configuration:-Outputs 52output "DP-1" { 53 // Uncomment this line to disable this output. 54 // off 55 56 mode "1920x1080@164.999" 57 scale 1 58 transform "normal" 59 position x=0 y=0 60} 61 62// Find more information on the wiki: 63// https://yalter.github.io/niri/Configuration:-Layout 64layout { 65 gaps 8 66 67 center-focused-column "never" 68 69 preset-column-widths { 70 proportion 0.33333 71 proportion 0.5 72 proportion 0.66667 73 } 74 75 default-column-width { proportion 0.5; } 76 focus-ring { 77 width 2 78 79 //catppuccin blue 80 active-color "#89b4fa" 81 82 //catppuccin surface-1 83 inactive-color "#45475a" 84 } 85 86 border { 87 off 88 width 1.5 89 //catppuccin yellow surface-1 red 90 active-color "#f9e2af" 91 inactive-color "#45475a" 92 urgent-color "#f38ba8" 93 } 94 95 shadow { 96 // on 97 softness 30 98 spread 5 99 offset x=0 y=5 100 color "#0007" 101 } 102 103 struts { 104 } 105} 106 107 108spawn-sh-at-startup "qs -c ~/.config/quickshell/noctalia-shell/" 109spawn-sh-at-startup "swaybg -i ~/.wallpaper/solace_mountain_night.png" 110 111 112hotkey-overlay { 113 skip-at-startup 114} 115 116 117screenshot-path null 118 119// https://yalter.github.io/niri/Configuration:-Animations 120animations { 121 // off 122} 123 124// https://yalter.github.io/niri/Configuration:-Window-Rules 125window-rule { 126 match app-id=r#"firefox$"# title="^Picture-in-Picture$" 127 open-floating true 128} 129window-rule { 130 match app-id=r#"firefox$"# 131 open-maximized true 132} 133window-rule { 134 match app-id=r#"discord$"# 135 open-maximized true 136 block-out-from "screen-capture" 137} 138window-rule { 139 match app-id=r#"jetbrains-idea$"# 140 open-maximized true 141} 142window-rule { 143 match app-id=r#"^org\.keepassxc\.KeePassXC$"# 144 block-out-from "screen-capture" 145} 146 147window-rule { 148 geometry-corner-radius 8 149 clip-to-geometry true 150} 151 152binds { 153 Mod+Shift+Slash { show-hotkey-overlay; } 154 Mod+Return hotkey-overlay-title="Open a Terminal: ghostty" { spawn "ghostty"; } 155 Mod+D hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } 156 Super+Shift+L hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } 157 158 XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; } 159 XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; } 160 XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } 161 XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } 162 163 XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "+10%"; } 164 XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "--class=backlight" "set" "10%-"; } 165 166 Mod+O repeat=false { toggle-overview; } 167 Mod+Q repeat=false { close-window; } 168 169 Mod+Left { focus-column-left; } 170 Mod+Down { focus-window-down; } 171 Mod+Up { focus-window-up; } 172 Mod+Right { focus-column-right; } 173 174 Mod+H { focus-column-left; } 175 Mod+U { focus-window-down; } 176 Mod+I { focus-window-up; } 177 Mod+L { focus-column-right; } 178 179 Mod+Ctrl+Left { move-column-left; } 180 Mod+Ctrl+Down { move-window-down; } 181 Mod+Ctrl+Up { move-window-up; } 182 Mod+Ctrl+Right { move-column-right; } 183 Mod+Ctrl+H { move-column-left; } 184 Mod+Ctrl+J { move-window-down; } 185 Mod+Ctrl+K { move-window-up; } 186 Mod+Ctrl+L { move-column-right; } 187 188 Mod+Home { focus-column-first; } 189 Mod+End { focus-column-last; } 190 Mod+Ctrl+Home { move-column-to-first; } 191 Mod+Ctrl+End { move-column-to-last; } 192 193 Mod+Shift+Left { focus-monitor-left; } 194 Mod+Shift+Down { focus-monitor-down; } 195 Mod+Shift+Up { focus-monitor-up; } 196 Mod+Shift+Right { focus-monitor-right; } 197 Mod+Shift+H { focus-monitor-left; } 198 Mod+Shift+U { focus-monitor-down; } 199 Mod+Shift+I { focus-monitor-up; } 200 Mod+Shift+L { focus-monitor-right; } 201 202 Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } 203 Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } 204 Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } 205 Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } 206 Mod+Shift+Ctrl+H { move-column-to-monitor-left; } 207 Mod+Shift+Ctrl+J { move-column-to-monitor-down; } 208 Mod+Shift+Ctrl+K { move-column-to-monitor-up; } 209 Mod+Shift+Ctrl+L { move-column-to-monitor-right; } 210 211 Mod+Page_Down { focus-workspace-down; } 212 Mod+Page_Up { focus-workspace-up; } 213 Mod+J { focus-workspace-down; } 214 Mod+K { focus-workspace-up; } 215 Mod+Shift+Page_Down { move-column-to-workspace-down; } 216 Mod+Shift+Page_Up { move-column-to-workspace-up; } 217 Mod+Shift+J { move-column-to-workspace-down; } 218 Mod+Shift+K { move-column-to-workspace-up; } 219 220 Mod+Ctrl+Page_Down { move-workspace-down; } 221 Mod+Ctrl+Page_Up { move-workspace-up; } 222 Mod+Ctrl+U { move-workspace-down; } 223 Mod+Ctrl+I { move-workspace-up; } 224 225 Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } 226 Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } 227 Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } 228 Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } 229 230 Mod+WheelScrollRight { focus-column-right; } 231 Mod+WheelScrollLeft { focus-column-left; } 232 Mod+Ctrl+WheelScrollRight { move-column-right; } 233 Mod+Ctrl+WheelScrollLeft { move-column-left; } 234 235 Mod+Shift+WheelScrollDown { focus-column-right; } 236 Mod+Shift+WheelScrollUp { focus-column-left; } 237 Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } 238 Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } 239 240 Mod+1 { focus-workspace 1; } 241 Mod+2 { focus-workspace 2; } 242 Mod+3 { focus-workspace 3; } 243 Mod+4 { focus-workspace 4; } 244 Mod+5 { focus-workspace 5; } 245 Mod+6 { focus-workspace 6; } 246 Mod+7 { focus-workspace 7; } 247 Mod+8 { focus-workspace 8; } 248 Mod+9 { focus-workspace 9; } 249 250 Mod+Shift+1 { move-column-to-workspace 1; } 251 Mod+Shift+2 { move-column-to-workspace 2; } 252 Mod+Shift+3 { move-column-to-workspace 3; } 253 Mod+Shift+4 { move-column-to-workspace 4; } 254 Mod+Shift+5 { move-column-to-workspace 5; } 255 Mod+Shift+6 { move-column-to-workspace 6; } 256 Mod+Shift+7 { move-column-to-workspace 7; } 257 Mod+Shift+8 { move-column-to-workspace 8; } 258 Mod+Shift+9 { move-column-to-workspace 9; } 259 260 Mod+BracketLeft { consume-or-expel-window-left; } 261 Mod+BracketRight { consume-or-expel-window-right; } 262 Mod+Comma { consume-window-into-column; } 263 Mod+Period { expel-window-from-column; } 264 265 Mod+R { switch-preset-column-width; } 266 Mod+Shift+R { switch-preset-window-height; } 267 Mod+Ctrl+R { reset-window-height; } 268 Mod+F { maximize-column; } 269 Mod+Shift+F { fullscreen-window; } 270 271 Mod+Ctrl+F { expand-column-to-available-width; } 272 273 Mod+C { center-column; } 274 275 Mod+Ctrl+C { center-visible-columns; } 276 277 Mod+Minus { set-column-width "-10%"; } 278 Mod+Equal { set-column-width "+10%"; } 279 280 Mod+Shift+Minus { set-window-height "-10%"; } 281 Mod+Shift+Equal { set-window-height "+10%"; } 282 283 Mod+V { toggle-window-floating; } 284 Mod+Shift+V { switch-focus-between-floating-and-tiling; } 285 286 Mod+W { toggle-column-tabbed-display; } 287 288 Mod+P {screenshot;} 289 Print { screenshot; } 290 Ctrl+Print { screenshot-screen; } 291 Alt+Print { screenshot-window; } 292 293 Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } 294 295 Mod+Shift+E { quit; } 296 Ctrl+Alt+Delete { quit; } 297 298 Mod+Shift+P { power-off-monitors; } 299}