niri.kdl
1 prefer-no-csd 2 screenshot-path "~/Pictures/Screenshots/%Y%m%d-%H%M%S.png" 3 4 xwayland-satellite { 5 path "$$bin/xwayland-satellite$$" 6 } 7 8 // Guix Home (home-shepherd-service-type) 9 spawn-at-startup "shepherd" 10 11 hotkey-overlay { 12 skip-at-startup 13 } 14 15 window-rule { 16 match app-id="librewolf" title="^Picture-in-Picture$" 17 open-floating true 18 } 19 20 window-rule { 21 match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"# 22 default-floating-position x=10 y=10 relative-to="bottom-right" 23 } 24 25 window-rule { 26 match app-id="thunar" title="^File Operation Progress$" 27 open-floating true 28 } 29 30 // Noctalia 31 window-rule { 32 geometry-corner-radius 20 33 clip-to-geometry true 34 } 35 36 debug { 37 honor-xdg-activation-with-invalid-serial 38 } 39 40 // Set the regular wallpaper on the backdrop. 41 layer-rule { 42 match namespace="^noctalia-wallpaper*" 43 place-within-backdrop true 44 } 45 46 // Optionally, disable the workspace shadows in the overview. 47 overview { 48 workspace-shadow { 49 off 50 } 51 } 52 53 layout { 54 // Set transparent workspace background color so you see the backdrop at all times. 55 background-color "transparent" 56 57 focus-ring { 58 off 59 } 60 border { 61 off 62 } 63 } 64 65 input { 66 keyboard { 67 repeat-delay 300 68 repeat-rate 30 69 } 70 touchpad { 71 tap 72 natural-scroll 73 } 74 warp-mouse-to-focus 75 } 76 77 output "eDP-1" { 78 mode "2560x1440@240.002" 79 } 80 81 output "DP-1" { 82 focus-at-startup 83 } 84 85 binds { 86 XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; } 87 XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; } 88 XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; } 89 XF86AudioMicMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteInput"; } 90 XF86AudioPlay allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "play"; } 91 XF86AudioStop allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "pause"; } 92 XF86AudioPrev allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "previous"; } 93 XF86AudioNext allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "media" "next"; } 94 XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "-d" "intel_backlight" "set" "+5%"; } 95 XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "-d" "intel_backlight" "set" "5%-"; } 96 97 Mod+O { spawn "noctalia-shell" "ipc" "call" "controlCenter" "toggle"; } 98 Mod+A { spawn "noctalia-shell" "ipc" "call" "launcher" "toggle"; } 99 Mod+D { spawn "noctalia-shell" "ipc" "call" "plugin:clipper" "togglePanel"; } 100 Mod+S { spawn "noctalia-shell" "ipc" "call" "settings" "toggle"; } 101 Ctrl+Alt+Delete { spawn "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; } 102 Mod+Shift+E { spawn "herd" "restart" "noctalia-shell"; } 103 104 Mod+E { spawn "emacsclient" "--create-frame" "--no-wait"; } 105 Mod+Return { spawn "$$bin/wezterm$$"; } 106 107 Mod+Left { focus-column-left; } 108 Mod+Down { focus-window-down; } 109 Mod+Up { focus-window-up; } 110 Mod+Right { focus-column-right; } 111 112 Mod+Shift+Left { move-column-left; } 113 Mod+Shift+Down { move-window-down; } 114 Mod+Shift+Up { move-window-up; } 115 Mod+Shift+Right { move-column-right; } 116 117 Mod+WheelScrollDown { focus-column-right; } 118 Mod+WheelScrollUp { focus-column-left; } 119 120 Mod+Shift+WheelScrollDown { move-column-right; } 121 Mod+Shift+WheelScrollUp { move-column-left; } 122 123 Mod+Ctrl+Left { focus-monitor-left; } 124 Mod+Ctrl+Right { focus-monitor-right; } 125 126 Mod+Ctrl+Shift+Left { move-column-to-monitor-left; } 127 Mod+Ctrl+Shift+Right { move-column-to-monitor-right; } 128 129 Mod+Ctrl+WheelScrollDown { focus-monitor-right; } 130 Mod+Ctrl+WheelScrollUp { focus-monitor-left; } 131 132 Mod+Ctrl+Shift+WheelScrollDown { move-column-to-monitor-right; } 133 Mod+Ctrl+Shift+WheelScrollUp { move-column-to-monitor-left; } 134 135 Mod+Comma { consume-or-expel-window-left; } 136 Mod+Period { consume-or-expel-window-right; } 137 Mod+F { maximize-column; } 138 Mod+Shift+F { fullscreen-window; } 139 Mod+C { center-column; } 140 Mod+V { toggle-window-floating; } 141 Mod+Shift+V { switch-focus-between-floating-and-tiling; } 142 143 Mod+Q { close-window; } 144 145 Mod+Tab repeat=false { toggle-overview; } 146 147 Print { screenshot; } 148 Ctrl+Print { screenshot-screen; } 149 Alt+Print { screenshot-window; } 150 151 Mod+1 { focus-workspace 1; } 152 Mod+2 { focus-workspace 2; } 153 Mod+3 { focus-workspace 3; } 154 Mod+4 { focus-workspace 4; } 155 Mod+5 { focus-workspace 5; } 156 Mod+6 { focus-workspace 6; } 157 Mod+7 { focus-workspace 7; } 158 Mod+8 { focus-workspace 8; } 159 Mod+9 { focus-workspace 9; } 160 Mod+Ctrl+1 { move-column-to-workspace 1; } 161 Mod+Ctrl+2 { move-column-to-workspace 2; } 162 Mod+Ctrl+3 { move-column-to-workspace 3; } 163 Mod+Ctrl+4 { move-column-to-workspace 4; } 164 Mod+Ctrl+5 { move-column-to-workspace 5; } 165 Mod+Ctrl+6 { move-column-to-workspace 6; } 166 Mod+Ctrl+7 { move-column-to-workspace 7; } 167 Mod+Ctrl+8 { move-column-to-workspace 8; } 168 Mod+Ctrl+9 { move-column-to-workspace 9; } 169 }