2026-08-09 14:56:09 -04:00
|
|
|
// ============================================================================
|
|
|
|
|
// KEYBINDINGS
|
|
|
|
|
// ============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
binds {
|
|
|
|
|
// System
|
|
|
|
|
Mod+Tab repeat=false { toggle-overview; }
|
|
|
|
|
Mod+Shift+E { quit; }
|
|
|
|
|
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
|
|
|
|
|
|
|
|
|
// ii Overview (daemon)
|
|
|
|
|
Mod+Space repeat=false { spawn "vicinae" "toggle"; }
|
|
|
|
|
Mod+Shift+Space repeat=false { spawn "vicinae" "vicinae://launch/core/search-emojis"; }
|
|
|
|
|
Mod+Shift+Return repeat=false { spawn "vicinae" "vicinae://launch/wm/switch-windows"; }
|
|
|
|
|
Mod+BackSpace { focus-window-previous; }
|
|
|
|
|
|
|
|
|
|
// ii Clipboard
|
|
|
|
|
Mod+P { spawn "vicinae" "vicinae://launch/clipboard/history"; }
|
|
|
|
|
Mod+Ctrl+R { spawn "noctalia" "msg" "plugin" "prdlk/ostt:recorder" "focused" "toggle"; }
|
|
|
|
|
|
|
|
|
|
// ii Region tools
|
|
|
|
|
Mod+Shift+G { spawn "kitty" "--title=goliath" "ssh" "-t" "goliath" "tmux" "new-session" "-A" "-s" "main"; }
|
|
|
|
|
Mod+S { spawn "dot-screenshot" "region"; }
|
|
|
|
|
Mod+Shift+S { spawn "dot-screenshot" "window"; }
|
|
|
|
|
Mod+Ctrl+S { spawn "dot-screenshot" "monitor-focused"; }
|
|
|
|
|
Mod+Ctrl+Shift+S { spawn "dot-screenshot" "monitor-all"; }
|
|
|
|
|
// v4: Mod+Period { spawn-sh "qs -c noctalia-shell ipc call controlCenter toggle"; }
|
|
|
|
|
// v4: Mod+Comma { spawn-sh "qs -c noctalia-shell ipc call settings toggle"; }
|
|
|
|
|
Mod+Period { spawn-sh "noctalia msg panel-toggle control-center"; }
|
|
|
|
|
Mod+Comma { spawn-sh "noctalia msg settings-toggle"; }
|
|
|
|
|
|
|
|
|
|
Super+Ctrl+A { spawn "vicinae" "vicinae://launch/applications/com.anthropic.Claude"; }
|
|
|
|
|
Super+Ctrl+G { spawn "vicinae" "vicinae://launch/applications/gemini-desktop"; }
|
2026-08-14 14:43:14 -04:00
|
|
|
Super+Alt+Ctrl+H { spawn "niri-launch-ai"; }
|
2026-08-14 14:35:19 -04:00
|
|
|
Super+Alt+Ctrl+J { spawn "niri-launch-terminal"; }
|
|
|
|
|
Super+Alt+Ctrl+K { spawn "niri-launch-browser"; }
|
2026-08-09 14:56:09 -04:00
|
|
|
Super+Alt+Ctrl+O { spawn "niri-launch" "obsidian"; }
|
2026-08-13 21:04:38 -04:00
|
|
|
Super+Alt+Ctrl+W { spawn "vicinae" "vicinae://launch/applications/tldraw_offline"; }
|
2026-08-09 14:56:09 -04:00
|
|
|
Super+Alt+Ctrl+E { spawn "vicinae" "vicinae://launch/applications/com.fastmail.Fastmail"; }
|
2026-08-22 13:04:10 -04:00
|
|
|
Super+Alt+Ctrl+B { spawn "vicinae" "vicinae://launch/applications/beeper"; }
|
2026-08-13 21:04:38 -04:00
|
|
|
Super+Alt+Ctrl+G { spawn "vicinae" "vicinae://launch/applications/com.mitchellh.ghostty"; }
|
2026-08-09 14:56:09 -04:00
|
|
|
Super+Alt+Ctrl+L { spawn "vicinae" "vicinae://launch/applications/WebApp-Linear3312"; }
|
|
|
|
|
Super+Alt+Ctrl+M { spawn "vicinae" "vicinae://launch/applications/beeper"; }
|
|
|
|
|
Super+Alt+Ctrl+T { spawn "vicinae" "vicinae://launch/applications/todoist"; }
|
|
|
|
|
Super+Alt+Ctrl+N { spawn "noctalia" "msg" "panel-open" "noctalia/notes:panel"; }
|
|
|
|
|
Super+Alt+Ctrl+F { spawn "vicinae" "vicinae://launch/applications/org.gnome.Nautilus"; }
|
|
|
|
|
Super+Alt+Ctrl+Space { spawn "vicinae" "vicinae://launch/applications/io.github.faridjaff.StickyNotesCanvas"; }
|
|
|
|
|
Super+Alt+Ctrl+Return { spawn "vicinae" "vicinae://launch/wm/switch-windows"; }
|
|
|
|
|
|
|
|
|
|
Super+Shift+Alt+Ctrl+W { spawn "niri-dynamic-workspaces" "switch" "w"; }
|
|
|
|
|
Super+Shift+Alt+Ctrl+H { spawn "niri-dynamic-workspaces" "switch" "h"; }
|
2026-08-14 15:01:38 -04:00
|
|
|
Super+Alt+Ctrl+Y { spawn "niri-launch-webapp"; }
|
2026-08-09 14:56:09 -04:00
|
|
|
Super+Alt+Ctrl+X { spawn "niri-dynamic-workspaces" "switch" "x"; }
|
|
|
|
|
|
|
|
|
|
// ─── Monitors ─── (Vertical)
|
|
|
|
|
Mod+Left { focus-monitor-left; }
|
|
|
|
|
Mod+Up { focus-monitor-up; }
|
|
|
|
|
Mod+Right { focus-monitor-right; }
|
|
|
|
|
Mod+Shift+Down { move-column-to-monitor-right; }
|
|
|
|
|
Mod+Shift+Up { move-column-to-monitor-left; }
|
|
|
|
|
|
|
|
|
|
// ─── Layout ───
|
|
|
|
|
Mod+R { switch-preset-column-width; }
|
|
|
|
|
Mod+Shift+R { switch-preset-window-height; }
|
|
|
|
|
Mod+Shift+F { maximize-column; }
|
|
|
|
|
Mod+F { expand-column-to-available-width; }
|
|
|
|
|
Super+C { center-column; }
|
|
|
|
|
Mod+Ctrl+C { center-visible-columns; }
|
|
|
|
|
Mod+Ctrl+F { fullscreen-window; }
|
|
|
|
|
Mod+Ctrl+O { toggle-window-floating; }
|
|
|
|
|
|
|
|
|
|
// ─── Window Sizing: hjkl ───
|
|
|
|
|
Alt+Shift+H { set-column-width "-10%"; }
|
|
|
|
|
Alt+Shift+J { set-window-height "-10%"; }
|
|
|
|
|
Alt+Shift+K { set-window-height "+10%"; }
|
|
|
|
|
Alt+Shift+L { set-column-width "+10%"; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Window management
|
|
|
|
|
Mod+Q repeat=false { spawn "/home/prad/.local/bin/niri-smart-close"; }
|
|
|
|
|
|
|
|
|
|
// Focus
|
|
|
|
|
Mod+H { focus-column-left-or-last; }
|
|
|
|
|
Mod+L { focus-column-right-or-first; }
|
|
|
|
|
Mod+J { focus-window-or-workspace-down; }
|
|
|
|
|
Mod+K { focus-window-or-workspace-up; }
|
|
|
|
|
|
|
|
|
|
// Workspaces
|
|
|
|
|
Mod+Shift+J { move-column-to-workspace-down; }
|
|
|
|
|
Mod+Shift+K { move-column-to-workspace-up; }
|
|
|
|
|
|
|
|
|
|
// Monitors
|
|
|
|
|
Super+O { focus-monitor-next; }
|
|
|
|
|
Super+Ctrl+J { focus-monitor-next; }
|
|
|
|
|
Super+Ctrl+K { focus-monitor-previous; }
|
|
|
|
|
Super+Shift+O { move-column-to-monitor-next; }
|
|
|
|
|
Mod+Ctrl+Shift+J { move-column-to-monitor-next; }
|
|
|
|
|
Mod+Ctrl+Shift+K { move-column-to-monitor-previous; }
|
|
|
|
|
|
|
|
|
|
// Columns
|
|
|
|
|
Super+Ctrl+H { focus-column-first; }
|
|
|
|
|
Super+Ctrl+L { focus-column-last; }
|
|
|
|
|
Super+Ctrl+Shift+H { move-column-to-first; }
|
|
|
|
|
Super+Ctrl+Shift+L { move-column-to-last; }
|
|
|
|
|
|
|
|
|
|
// Tabs
|
|
|
|
|
Mod+W { toggle-column-tabbed-display; }
|
|
|
|
|
Mod+Shift+H { spawn "/home/prad/.local/bin/niri-smart-move" "left"; }
|
|
|
|
|
Mod+Shift+L { spawn "/home/prad/.local/bin/niri-smart-move" "right"; }
|
|
|
|
|
|
|
|
|
|
// Screenshots (native)
|
|
|
|
|
Print { screenshot; }
|
|
|
|
|
Ctrl+Print { screenshot-screen; }
|
|
|
|
|
Alt+Print { screenshot-window; }
|
|
|
|
|
|
|
|
|
|
// ========================================================================
|
|
|
|
|
// HARDWARE KEYS - Audio, Brightness, Media
|
|
|
|
|
// ========================================================================
|
|
|
|
|
// These use noctalia IPC so the OSD (On Screen Display) shows feedback
|
|
|
|
|
|
|
|
|
|
Mod+F24 { spawn "voxtype" "record" "toggle" "--profile" "hermes"; }
|
|
|
|
|
|
|
|
|
|
// ─── Media Controls ───
|
|
|
|
|
// v4: XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume increase"; }
|
|
|
|
|
// v4: XF86AudioLowerVolume allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume decrease"; }
|
|
|
|
|
// v4: XF86AudioMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteOutput"; }
|
|
|
|
|
// v4: XF86AudioMicMute allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call volume muteInput"; }
|
|
|
|
|
// v4: XF86AudioNext allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media next"; }
|
|
|
|
|
// v4: XF86AudioPrev allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media previous"; }
|
|
|
|
|
// v4: XF86AudioPlay allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }
|
|
|
|
|
// v4: XF86AudioPause allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call media playPause"; }
|
|
|
|
|
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "noctalia msg volume-up"; }
|
|
|
|
|
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "noctalia msg volume-down"; }
|
|
|
|
|
XF86AudioMute allow-when-locked=true { spawn-sh "noctalia msg volume-mute"; }
|
|
|
|
|
XF86AudioMicMute allow-when-locked=true { spawn-sh "noctalia msg mic-mute"; }
|
|
|
|
|
XF86AudioNext allow-when-locked=true { spawn-sh "noctalia msg media next"; }
|
|
|
|
|
XF86AudioPrev allow-when-locked=true { spawn-sh "noctalia msg media previous"; }
|
|
|
|
|
XF86AudioPlay allow-when-locked=true { spawn-sh "noctalia msg media toggle"; }
|
|
|
|
|
XF86AudioPause allow-when-locked=true { spawn-sh "noctalia msg media toggle"; }
|
|
|
|
|
|
|
|
|
|
// ─── Brightness Controls ───
|
|
|
|
|
// v4: XF86MonBrightnessUp allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness increase"; }
|
|
|
|
|
// v4: XF86MonBrightnessDown allow-when-locked=true { spawn-sh "qs -c noctalia-shell ipc call brightness decrease"; }
|
|
|
|
|
XF86MonBrightnessUp allow-when-locked=true { spawn-sh "noctalia msg brightness-up"; }
|
|
|
|
|
XF86MonBrightnessDown allow-when-locked=true { spawn-sh "noctalia msg brightness-down"; }
|
|
|
|
|
|
|
|
|
|
// Power / Session
|
|
|
|
|
// v4: Mod+Shift+Q { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; }
|
|
|
|
|
Mod+Shift+Q hotkey-overlay-title="Session Menu: noctalia session" { spawn-sh "noctalia msg panel-toggle session"; }
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|