From ea73642a3c82b5e58f6f7f42878bc695e7189efe Mon Sep 17 00:00:00 2001 From: Nate Cox Date: Wed, 13 May 2026 11:25:07 -0700 Subject: Initial commit --- .config/niri/cfg/keybinds.kdl | 137 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 .config/niri/cfg/keybinds.kdl (limited to '.config/niri/cfg/keybinds.kdl') diff --git a/.config/niri/cfg/keybinds.kdl b/.config/niri/cfg/keybinds.kdl new file mode 100644 index 0000000..21563cd --- /dev/null +++ b/.config/niri/cfg/keybinds.kdl @@ -0,0 +1,137 @@ +binds { + + // ────────────── Keybindings ────────────── + // https://github.com/YaLTeR/niri/wiki/Configuration:-Key-Bindings + + // ─── noctalia-shell keybinds ─── + // https://docs.noctalia.dev/getting-started/keybinds/ + + Mod+Shift+ESCAPE { show-hotkey-overlay; } + + // ─── Applications ─── + Mod+Return hotkey-overlay-title="Open Terminal: Foot" { spawn "foot"; } + Mod+CTRL+Return hotkey-overlay-title="Open App Launcher: noctalia launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; } + Mod+B hotkey-overlay-title="Open Browser: Helium" { spawn "helium-browser"; } + Mod+ALT+L hotkey-overlay-title="Lock Screen: noctalia lock" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; } + Mod+Shift+Q hotkey-overlay-title="Session Menu: noctalia sessionMenu" { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; } + + // Please choose your own file manager. + Mod+E hotkey-overlay-title="File Manager: Nautilus" { spawn "nautilus"; } + + // ─── Media Controls ─── + XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume increase"; } + XF86AudioLowerVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume decrease"; } + XF86AudioMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteOutput"; } + XF86AudioMicMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteInput"; } + XF86AudioNext allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media next"; } + XF86AudioPrev allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media previous"; } + XF86AudioPlay allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; } + XF86AudioPause allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; } + + // ─── Brightness Controls ─── + XF86MonBrightnessUp allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness increase"; } + XF86MonBrightnessDown allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness decrease"; } + + // ─── Window Movement and Focus ─── + Mod+Q { close-window; } + + Mod+Left { focus-column-left; } + Mod+H { focus-column-left; } + Mod+Right { focus-column-right; } + Mod+L { focus-column-right; } + Mod+Up { focus-window-up; } + Mod+K { focus-window-up; } + Mod+Down { focus-window-down; } + Mod+J { focus-window-down; } + + Mod+CTRL+Left { move-column-left; } + Mod+CTRL+H { move-column-left; } + Mod+CTRL+Right { move-column-right; } + Mod+CTRL+L { move-column-right; } + Mod+CTRL+UP { move-window-up; } + Mod+CTRL+K { move-window-up; } + Mod+CTRL+Down { move-window-down; } + Mod+CTRL+J { move-window-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 cooldown-ms=150 { focus-workspace-down; } + Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } + Mod+CTRL+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } + Mod+CTRL+WheelScrollUp cooldown-ms=150 { move-column-to-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+T { toggle-window-floating; } + Mod+F { fullscreen-window; } + Mod+W { toggle-column-tabbed-display; } + + // ─── Screenshots ─── + CTRL+Shift+1 { screenshot; } + CTRL+Shift+2 { screenshot-screen; } + CTRL+Shift+3 { screenshot-window; } + + // ─── Emergency Escape Key ─── + // Use this when a fullscreen app blocks your keybinds. + // It disables any active keyboard shortcut inhibitor, restoring control. + 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; } +} -- cgit v1.3.1