// ────────────── Keybindings ────────────── binds { // ─── System ─── MOD+SPACE { spawn "dms" "ipc" "call" "spotlight" "toggle"; } MOD+C { spawn "dms" "ipc" "call" "clipboard" "toggle"; } MOD+L { spawn "dms" "ipc" "lock" "lock";} // ─── Screenshots ─── PRINT { spawn-sh "f=~/Bilder/Screenshots/PC/screenshot_$(date +%Y-%m-%d_%H%M%S).png; dms screenshot --stdout > $f && ([ -s $f ] && satty -f $f || rm $f)"; } // PRINT { spawn-sh "dms screenshot --stdout | tee ~/Bilder/Screenshots/PC/screenshot_$(date +%Y-%m-%d_%H%M%S).png | satty -f - --early-exit"; } SHIFT+PRINT { spawn-sh "dms screenshot full --stdout | tee ~/Bilder/Screenshots/PC/screenshot_$(date +%Y-%m-%d_%H%M%S).png | satty -f - --early-exit"; } // ─── Applications ─── MOD+RETURN { spawn "alacritty"; } MOD+B { spawn "vivaldi"; } MOD+E { spawn "thunar"; } MOD+T { spawn "gnome-text-editor"; } // ─── Audio Controls ─── XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+"; } XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-"; } XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; } XF86AudioMicMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; } XF86AudioNext allow-when-locked=true { spawn-sh "playerctl next"; } XF86AudioPause allow-when-locked=true { spawn-sh "playerctl play-pause"; } XF86AudioPlay allow-when-locked=true { spawn-sh "playerctl play-pause"; } XF86AudioPrev allow-when-locked=true { spawn-sh "playerctl previous"; } // ─── Window Movement and Focus ─── MOD+Q { close-window; } MOD+LEFT { focus-column-left; } MOD+RIGHT { focus-column-right; } MOD+DOWN { focus-window-or-workspace-down; } MOD+UP { focus-window-or-workspace-up; } MOD+CTRL+LEFT { move-column-left; } MOD+CTRL+RIGHT { move-column-right; } MOD+CTRL+UP { move-column-to-workspace-up; } MOD+CTRL+DOWN { move-column-to-workspace-down; } MOD+HOME { focus-column-first; } MOD+END { focus-column-last; } MOD+CTRL+HOME { move-column-to-first; } MOD+CTRL+END { move-column-to-last; } MOD+SHIFT+LEFT { focus-monitor-left; } MOD+SHIFT+RIGHT { focus-monitor-right; } MOD+SHIFT+UP { focus-monitor-up; } MOD+SHIFT+DOWN { focus-monitor-down; } MOD+SHIFT+CTRL+LEFT { move-column-to-monitor-left; } MOD+SHIFT+CTRL+RIGHT { move-column-to-monitor-right; } MOD+SHIFT+CTRL+UP { move-column-to-monitor-up; } MOD+SHIFT+CTRL+DOWN { move-column-to-monitor-down; } // ─── Workspace Switching ─── MOD+WHEELSCROLLDOWN { focus-workspace-down; } MOD+WHEELSCROLLUP { focus-workspace-up; } MOD+WHEELSCROLLRIGHT { focus-column-right; } MOD+WHEELSCROLLLEFT { focus-column-left; } MOD+CTRL+WHEELSCROLLRIGHT { move-column-right; } MOD+CTRL+WHEELSCROLLLEFT { move-column-left; } MOD+SHIFT+WHEELSCROLLDOWN { focus-column-right; } MOD+SHIFT+WHEELSCROLLUP { focus-column-left; } MOD+CTRL+SHIFT+WHEELSCROLLDOWN { move-column-right; } MOD+CTRL+SHIFT+WHEELSCROLLUP { move-column-left; } MOD+1 { focus-workspace 1; } MOD+2 { focus-workspace 2; } MOD+3 { focus-workspace 3; } MOD+4 { focus-workspace 4; } MOD+5 { focus-workspace 5; } MOD+6 { focus-workspace 6; } MOD+7 { focus-workspace 7; } MOD+8 { focus-workspace 8; } MOD+9 { focus-workspace 9; } MOD+CTRL+1 { move-column-to-workspace 1; } MOD+CTRL+2 { move-column-to-workspace 2; } MOD+CTRL+3 { move-column-to-workspace 3; } MOD+CTRL+4 { move-column-to-workspace 4; } MOD+CTRL+5 { move-column-to-workspace 5; } MOD+CTRL+6 { move-column-to-workspace 6; } MOD+CTRL+7 { move-column-to-workspace 7; } MOD+CTRL+8 { move-column-to-workspace 8; } MOD+CTRL+9 { move-column-to-workspace 9; } MOD+TAB { focus-workspace-previous; } // ─── Layout Controls ─── MOD+CTRL+F { expand-column-to-available-width; } // MOD+C { center-column; } MOD+CTRL+C { center-visible-columns; } MOD+MINUS { set-column-width "-10%"; } MOD+EQUAL { set-column-width "+10%"; } MOD+SHIFT+MINUS { set-window-height "-10%"; } MOD+SHIFT+EQUAL { set-window-height "+10%"; } // ─── Modes ─── Mod+F { maximize-column; } Mod+Shift+F { fullscreen-window; } // MOD+T { toggle-window-floating; } // MOD+W { toggle-column-tabbed-display; } MOD+ESCAPE allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } // ─── Exit / Power ─── CTRL+ALT+DELETE { quit; } // Also quits Niri MOD+SHIFT+P { power-off-monitors; } // Turn off screens (useful for OLED or privacy) MOD+O repeat=false { toggle-overview; } }