z_mirror/dotfiles
git clone https://git.raiguard.me/z_mirror/dotfiles
ac9703e
trunk
1input { 2keyboard { 3xkb { 4layout "us,ru" 5} 6 7numlock 8 9repeat-rate 40 10repeat-delay 300 11} 12 13touchpad { 14tap 15dwt 16dwtp 17drag-lock 18natural-scroll 19} 20 21mouse { 22scroll-method "on-button-down" 23scroll-button 274 24} 25 26focus-follows-mouse max-scroll-amount = "0%" 27} 28 29output "eDP-1" { 30scale 1.25 31layout { 32default-column-width { proportion 1.0 ; } 33} 34} 35 36output "DP-3" { 37position x = 1920 y = 0 38mode "3440x1440@119.991" 39variable-refresh-rate on-demand = true 40} 41 42output "DP-4" { 43position x = 2680 y = 1440 44} 45 46output "DP-5" { 47off 48position x = 0 y = 180 49mode "3840x2160@120" 50scale 2 51variable-refresh-rate 52} 53 54output "HDMI-A-2" { 55off 56position x = 0 y = 180 57mode "3840x2160@60" 58scale 2 59variable-refresh-rate 60} 61 62layout { 63gaps 4 64 65always-center-single-column true 66center-focused-column "never" 67 68preset-column-widths { 69proportion 0.5 70proportion 1.0 71} 72 73default-column-width { proportion 0.5 ; } 74 75focus-ring { off ; } 76 77border { 78width 1 79active-color "#7dcfff" 80inactive-color "#565f89" 81urgent-color "#f7768e" 82} 83 84background-color "transparent" 85} 86 87cursor { 88xcursor-theme "Bibata-Modern-Ice" 89} 90 91hotkey-overlay { skip-at-startup ; } 92 93prefer-no-csd 94 95screenshot-path "~/pictures/screenshots/%Y-%m-%dT%H-%M-%S.png" 96 97binds { 98Mod+T { spawn "foot" ; } 99Mod+D { spawn-sh "qs -c noctalia-shell ipc call launcher toggle" ; } 100Mod+X { spawn-sh "wayscriber -a" ; } 101Mod+E { spawn "nautilus" ; } 102Mod+W { spawn "librewolf" ; } 103Mod+Slash { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle" ; } 104 105XF86AudioRaiseVolume allow-when-locked = true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+ -l 1.0" ; } 106XF86AudioLowerVolume allow-when-locked = true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-" ; } 107XF86AudioMute allow-when-locked = true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" ; } 108XF86AudioMicMute allow-when-locked = true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle" ; } 109 110XF86AudioPlay allow-when-locked = true { spawn-sh "playerctl play-pause" ; } 111XF86AudioStop allow-when-locked = true { spawn-sh "playerctl stop" ; } 112XF86AudioPrev allow-when-locked = true { spawn-sh "playerctl previous" ; } 113XF86AudioNext allow-when-locked = true { spawn-sh "playerctl next" ; } 114 115XF86MonBrightnessUp allow-when-locked = true { spawn "brightnessctl" "--class=backlight" "set" "+10%" ; } 116XF86MonBrightnessDown allow-when-locked = true { spawn "brightnessctl" "--class=backlight" "set" "10%-" ; } 117 118Mod+O repeat = false { toggle-overview ; } 119 120Mod+Q repeat = false { close-window ; } 121 122Mod+Left { focus-column-left ; } 123Mod+Down { focus-window-down ; } 124Mod+Up { focus-window-up ; } 125Mod+Right { focus-column-right ; } 126Mod+H { focus-column-left ; } 127Mod+J { focus-window-down ; } 128Mod+K { focus-window-up ; } 129Mod+L { focus-column-right ; } 130 131Mod+Ctrl+Left { move-column-left ; } 132Mod+Ctrl+Down { move-window-down ; } 133Mod+Ctrl+Up { move-window-up ; } 134Mod+Ctrl+Right { move-column-right ; } 135Mod+Ctrl+H { move-column-left ; } 136Mod+Ctrl+J { move-window-down ; } 137Mod+Ctrl+K { move-window-up ; } 138Mod+Ctrl+L { move-column-right ; } 139 140Mod+Home { focus-column-first ; } 141Mod+End { focus-column-last ; } 142Mod+Ctrl+Home { move-column-to-first ; } 143Mod+Ctrl+End { move-column-to-last ; } 144 145Mod+Shift+Left { focus-monitor-left ; } 146Mod+Shift+Down { focus-monitor-down ; } 147Mod+Shift+Up { focus-monitor-up ; } 148Mod+Shift+Right { focus-monitor-right ; } 149Mod+Shift+H { focus-monitor-left ; } 150Mod+Shift+J { focus-monitor-down ; } 151Mod+Shift+K { focus-monitor-up ; } 152Mod+Shift+L { focus-monitor-right ; } 153 154Mod+Shift+Ctrl+Left { move-column-to-monitor-left ; } 155Mod+Shift+Ctrl+Down { move-column-to-monitor-down ; } 156Mod+Shift+Ctrl+Up { move-column-to-monitor-up ; } 157Mod+Shift+Ctrl+Right { move-column-to-monitor-right ; } 158Mod+Shift+Ctrl+H { move-column-to-monitor-left ; } 159Mod+Shift+Ctrl+J { move-column-to-monitor-down ; } 160Mod+Shift+Ctrl+K { move-column-to-monitor-up ; } 161Mod+Shift+Ctrl+L { move-column-to-monitor-right ; } 162 163Mod+Page_Down { focus-workspace-down ; } 164Mod+Page_Up { focus-workspace-up ; } 165Mod+U { focus-workspace-down ; } 166Mod+I { focus-workspace-up ; } 167Mod+Ctrl+Page_Down { move-column-to-workspace-down ; } 168Mod+Ctrl+Page_Up { move-column-to-workspace-up ; } 169Mod+Ctrl+U { move-column-to-workspace-down ; } 170Mod+Ctrl+I { move-column-to-workspace-up ; } 171 172Mod+Shift+Page_Down { move-workspace-down ; } 173Mod+Shift+Page_Up { move-workspace-up ; } 174Mod+Shift+U { move-workspace-down ; } 175Mod+Shift+I { move-workspace-up ; } 176 177Mod+WheelScrollDown cooldown-ms = 150 { focus-workspace-down ; } 178Mod+WheelScrollUp cooldown-ms = 150 { focus-workspace-up ; } 179Mod+Ctrl+WheelScrollDown cooldown-ms = 150 { move-column-to-workspace-down ; } 180Mod+Ctrl+WheelScrollUp cooldown-ms = 150 { move-column-to-workspace-up ; } 181 182Mod+WheelScrollRight { focus-column-right ; } 183Mod+WheelScrollLeft { focus-column-left ; } 184Mod+Ctrl+WheelScrollRight { move-column-right ; } 185Mod+Ctrl+WheelScrollLeft { move-column-left ; } 186 187Mod+Shift+WheelScrollDown { focus-column-right ; } 188Mod+Shift+WheelScrollUp { focus-column-left ; } 189Mod+Ctrl+Shift+WheelScrollDown { move-column-right ; } 190Mod+Ctrl+Shift+WheelScrollUp { move-column-left ; } 191 192Mod+1 { focus-workspace 1 ; } 193Mod+2 { focus-workspace 2 ; } 194Mod+3 { focus-workspace 3 ; } 195Mod+4 { focus-workspace 4 ; } 196Mod+5 { focus-workspace 5 ; } 197Mod+6 { focus-workspace 6 ; } 198Mod+7 { focus-workspace 7 ; } 199Mod+8 { focus-workspace 8 ; } 200Mod+9 { focus-workspace 9 ; } 201Mod+Ctrl+1 { move-column-to-workspace 1 ; } 202Mod+Ctrl+2 { move-column-to-workspace 2 ; } 203Mod+Ctrl+3 { move-column-to-workspace 3 ; } 204Mod+Ctrl+4 { move-column-to-workspace 4 ; } 205Mod+Ctrl+5 { move-column-to-workspace 5 ; } 206Mod+Ctrl+6 { move-column-to-workspace 6 ; } 207Mod+Ctrl+7 { move-column-to-workspace 7 ; } 208Mod+Ctrl+8 { move-column-to-workspace 8 ; } 209Mod+Ctrl+9 { move-column-to-workspace 9 ; } 210 211Mod+BracketLeft { consume-or-expel-window-left ; } 212Mod+BracketRight { consume-or-expel-window-right ; } 213 214Mod+Comma { consume-window-into-column ; } 215Mod+Period { expel-window-from-column ; } 216 217Mod+R { switch-preset-column-width ; } 218Mod+Shift+R { switch-preset-window-height ; } 219Mod+Ctrl+R { reset-window-height ; } 220Mod+F { fullscreen-window ; } 221 222Mod+Ctrl+F { expand-column-to-available-width ; } 223 224Mod+C { center-column ; } 225 226Mod+Ctrl+C { center-visible-columns ; } 227 228Mod+Minus { set-column-width "-10%" ; } 229Mod+Equal { set-column-width "+10%" ; } 230 231Mod+Shift+Minus { set-window-height "-10%" ; } 232Mod+Shift+Equal { set-window-height "+10%" ; } 233 234Mod+V { toggle-window-floating ; } 235Mod+Shift+V { switch-focus-between-floating-and-tiling ; } 236 237{ screenshot ; } 238Ctrl+Print { screenshot-screen ; } 239Alt+Print { screenshot-window ; } 240 241Mod+Escape allow-inhibiting = false { toggle-keyboard-shortcuts-inhibit ; } 242 243Mod+Shift+E { quit ; } 244Ctrl+Alt+Delete { quit ; } 245 246Mod+Shift+P { power-off-monitors ; } 247} 248 249// Open the Firefox picture-in-picture player as floating by default. 250window-rule { 251// This app-id regular expression will work for both: 252// - host Firefox (app-id is "firefox") 253// - Flatpak Firefox (app-id is "org.mozilla.firefox") 254match app-id = r#"firefox$"# title = "^Picture-in-Picture$" 255open-floating true 256} 257 258// Example: block out two password managers from screen capture. 259// (This example rule is commented out with a "/-" in front.) 260window-rule { 261match app-id = r#"^org\.keepassxc\.KeePassXC$"# 262match app-id = r#"^org\.gnome\.World\.Secrets$"# 263 264block-out-from "screen-capture" 265open-floating true 266} 267 268window-rule { 269match app-id = r#".*(f|F)actorio.*"# 270open-maximized-to-edges true 271variable-refresh-rate true 272} 273 274window-rule { 275match app-id = "osu!" 276variable-refresh-rate true 277} 278 279// Block out mako notifications from screencasts. 280layer-rule { 281match namespace = "^notifications$" 282 283block-out-from "screencast" 284} 285 286layer-rule { 287match namespace = "^wallpaper$" 288place-within-backdrop true 289} 290 291// Set the overview wallpaper on the backdrop. 292layer-rule { 293match namespace = "^noctalia-overview*" 294place-within-backdrop true 295} 296 297// spawn-at-startup "swaybg" 298// spawn-at-startup "swayidle" 299// spawn-at-startup "waybar" 300// spawn-at-startup "wlsunset" 301 302spawn-at-startup "qs" "-c" "noctalia-shell" 303 304environment { 305PROTON_ENABLE_WAYLAND "1" 306PROTON_USE_WAYLAND "1" 307WAYLANDDRV_PRIMARY_MONITOR "DP-3" 308QS_ICON_THEME "Papirus-Dark" 309} 310 311window-rule { 312geometry-corner-radius 3 313clip-to-geometry true 314} 315 316include "./noctalia.kdl"