Files
dotfiles/dot_config/niri/exact_config.d/70-binds.kdl
T

156 lines
8.8 KiB
KDL

// ============================================================================
// 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"; }
Super+Alt+Ctrl+H { spawn "hermes" "desktop"; }
Super+Alt+Ctrl+J { spawn "niri-launch" "kitty"; }
Super+Alt+Ctrl+K { spawn "niri-launch" "brave-origin-nightly"; }
Super+Alt+Ctrl+O { spawn "niri-launch" "obsidian"; }
Super+Alt+Ctrl+W { spawn "vicinae" "vicinae://launch/applications/tldraw_offline"; }
Super+Alt+Ctrl+E { spawn "vicinae" "vicinae://launch/applications/com.fastmail.Fastmail"; }
Super+Alt+Ctrl+B { spawn "vicinae" "vicinae://launch/applications/beeper"; }
Super+Alt+Ctrl+G { spawn "vicinae" "vicinae://launch/applications/com.mitchellh.ghostty"; }
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"; }
Super+Alt+Ctrl+Y { spawn "vicinae" "vicinae://launch/applications/rocks.shy.VacuumTube"; }
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"; }
}