Update Noctalia keybinds and app shortcuts
Call noctalia-shell directly for several bindings (NixOS-friendly) and route volume/brightness controls through Noctalia IPC for OSD. Replace Thunar with Nautilus, change emergency key to Mod+Shift+Escape, fix wl-paste startup args for cliphist, and comment out rclone mount and polkit startup where managed by systemd user services
This commit is contained in:
@@ -45,35 +45,36 @@ binds {
|
||||
// ---- Hotkey Overlay
|
||||
MOD+SHIFT+BACKSPACE { show-hotkey-overlay; }
|
||||
|
||||
// ─── Noctalia ───
|
||||
// MOD+SPACE hotkey-overlay-title="Open App Launcher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle"; }
|
||||
MOD+SHIFT+L hotkey-overlay-title="Lock Screen" { spawn-sh "qs -c noctalia-shell ipc call lockScreen lock"; }
|
||||
MOD+S hotkey-overlay-title="Open Control Center" { spawn-sh "qs -c noctalia-shell ipc call controlCenter toggle";}
|
||||
MOD+COMMA hotkey-overlay-title="Open Settings" { spawn-sh "qs -c noctalia-shell ipc call settings toggle"; }
|
||||
MOD+SHIFT+DELETE hotkey-overlay-title="Session Menu" { spawn-sh "qs -c noctalia-shell ipc call sessionMenu toggle"; }
|
||||
MOD+N hotkey-overlay-title="Notification History" { spawn-sh "qs -c noctalia-shell ipc call notifications toggleHistory"; }
|
||||
MOD+M hotkey-overlay-title="Wallpaper Selector" { spawn-sh "qs -c noctalia-shell ipc call wallpaper toggle"; }
|
||||
// ─── Noctalia Shell ───
|
||||
// Note: On NixOS, use "noctalia-shell" directly instead of "qs -c noctalia-shell"
|
||||
Mod+Shift+L hotkey-overlay-title="Lock Screen" { spawn "noctalia-shell" "ipc" "call" "lockScreen" "lock"; }
|
||||
Mod+S hotkey-overlay-title="Control Center" { spawn "noctalia-shell" "ipc" "call" "controlCenter" "toggle"; }
|
||||
Mod+Comma hotkey-overlay-title="Settings" { spawn "noctalia-shell" "ipc" "call" "settings" "toggle"; }
|
||||
Mod+Escape hotkey-overlay-title="Session Menu" { spawn "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; }
|
||||
Mod+N hotkey-overlay-title="Notification History" { spawn "noctalia-shell" "ipc" "call" "notifications" "toggleHistory"; }
|
||||
Mod+M hotkey-overlay-title="Wallpaper Selector" { spawn "noctalia-shell" "ipc" "call" "wallpaper" "toggle"; }
|
||||
|
||||
// ─── Applications ───
|
||||
MOD+T hotkey-overlay-title="Open Terminal: ghostty" { spawn-sh "ghostty"; }
|
||||
MOD+B hotkey-overlay-title="Open Browser: Zen" { spawn-sh "zen-browser"; }
|
||||
MOD+E hotkey-overlay-title="File Manager: Thunar" { spawn-sh "thunar"; }
|
||||
MOD+SPACE repeat=false hotkey-overlay-title="Open App Launcher" { spawn "vicinae" "toggle"; }
|
||||
MOD+G hotkey-overlay-title="Open Google Gemini" { spawn-sh "/usr/bin/chromium --profile-directory=Default --app-id=gdfaincndogidkdcdkhapmbffkckdkhn
|
||||
"; }
|
||||
Mod+T hotkey-overlay-title="Open Terminal: ghostty" { spawn "ghostty"; }
|
||||
Mod+B hotkey-overlay-title="Open Browser: Zen" { spawn "zen-browser"; }
|
||||
Mod+E hotkey-overlay-title="File Manager: Nautilus" { spawn "nautilus"; }
|
||||
Mod+Space repeat=false hotkey-overlay-title="Open App Launcher" { spawn "vicinae" "toggle"; }
|
||||
// Mod+G hotkey-overlay-title="Open Google Gemini" { spawn "chromium" "--app=https://gemini.google.com"; }
|
||||
|
||||
// ─── Audio Controls ───
|
||||
// Example volume keys mappings for PipeWire & WirePlumber.
|
||||
// The allow-when-locked=true property makes them work even when the session is locked.
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; }
|
||||
// ─── Audio Controls (via Noctalia for OSD) ───
|
||||
XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "increase"; }
|
||||
XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "decrease"; }
|
||||
XF86AudioMute allow-when-locked=true { spawn "noctalia-shell" "ipc" "call" "volume" "muteOutput"; }
|
||||
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"; }
|
||||
|
||||
// ─── Brightness Controls (via Noctalia for OSD) ───
|
||||
XF86MonBrightnessUp { spawn "noctalia-shell" "ipc" "call" "brightness" "increase"; }
|
||||
XF86MonBrightnessDown { spawn "noctalia-shell" "ipc" "call" "brightness" "decrease"; }
|
||||
|
||||
// ─── Window Movement and Focus ───
|
||||
MOD+Q { close-window; }
|
||||
|
||||
@@ -172,7 +173,7 @@ binds {
|
||||
// ─── 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; }
|
||||
Mod+Shift+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
|
||||
|
||||
// ─── Exit / Power ───
|
||||
CTRL+ALT+DELETE { quit; } // Also quits Niri
|
||||
@@ -183,13 +184,17 @@ binds {
|
||||
// ────────────── Startup Applications ──────────────
|
||||
// https://github.com/YaLTeR/niri/wiki/Configuration:-Miscellaneous#spawn-sh-at-startup
|
||||
|
||||
spawn-sh-at-startup "/usr/lib/polkit-kde-authentication-agent-1 &" // Polkit
|
||||
// Note: On NixOS, polkit agent is started via systemd user service (see desktop.nix)
|
||||
// spawn-sh-at-startup "polkit-gnome-authentication-agent-1 &"
|
||||
spawn-sh-at-startup "sleep 2 && vicinae server"
|
||||
spawn-at-startup "xwayland-satellite"
|
||||
// spawn-at-startup "wl-paste" "--type text" "--watch" "cliphist" "store"
|
||||
// spawn-at-startup "wl-paste" "--type image" "--watch" "cliphist" "store"
|
||||
|
||||
// Clipboard history (cliphist)
|
||||
spawn-at-startup "wl-paste" "--type" "text" "--watch" "cliphist" "store"
|
||||
spawn-at-startup "wl-paste" "--type" "image" "--watch" "cliphist" "store"
|
||||
|
||||
spawn-sh-at-startup "steam -nochatui -nofriendsui -silent"
|
||||
spawn-sh-at-startup "rclone mount google-drive: /home/pinj/google-drive/"
|
||||
// spawn-sh-at-startup "rclone mount google-drive: /home/pinj/google-drive/"
|
||||
prefer-no-csd // Disable program decorations
|
||||
screenshot-path null // Disable screenshot saving
|
||||
|
||||
@@ -277,8 +282,8 @@ binds {
|
||||
}
|
||||
|
||||
window-rule {
|
||||
match app-id=r#"thunar$"#
|
||||
// Always float Thunar windows
|
||||
match app-id=r#"org.gnome.Nautilus$"#
|
||||
// Always float Nautilus windows
|
||||
open-floating true
|
||||
// Set Window Proportions
|
||||
max-height 1500
|
||||
|
||||
Reference in New Issue
Block a user