From 8a191179bd35e090f9f4a57eb1ae825f702f6f7c Mon Sep 17 00:00:00 2001 From: Cian Hughes Date: Fri, 10 Apr 2026 09:42:02 +0100 Subject: [PATCH] Updated dotfile self-documentation --- dot_config/hypr/binds.conf | 52 ++++++-------- dot_config/niri/config.kdl | 141 +++++++++++++++++-------------------- 2 files changed, 86 insertions(+), 107 deletions(-) diff --git a/dot_config/hypr/binds.conf b/dot_config/hypr/binds.conf index c2d710f..70d1d35 100644 --- a/dot_config/hypr/binds.conf +++ b/dot_config/hypr/binds.conf @@ -1,6 +1,7 @@ # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -# Single app hotkeys +# 1. Application Launchers bind = $mainMod, SPACE, exec, $menu #"Activate the launcher" + bind = $mainMod, Q, exec, $terminal #"Launch the terminal" bind = $mainMod, W, exec, $browser #"Launch the browser" bind = $mainMod, E, exec, $noteManager #"Launch the note manager" @@ -14,10 +15,9 @@ bind = $mainMod, P, exec, $perfMonitor #"Launch the performance monitor" bind = $mainMod, S, exec, $terminalBackup #"Launch the backup terminal" bind = $mainMod, D, exec, $noteManagerSearch #"Search the note manager" -# Multi-app hotkeys bind = $mainModShift, Q, exec, [workspace 1 silent] $browser & [workspace 2 silent] $terminal & [workspace 3 silent] $noteManager & [workspace 3 silent] $localDocs #"Launch the default layout" -# DE function hotkeys +# 2. Function Hotkeys bind = $mainMod, TAB, exec, $screenshot #"Take a screenshot" bind = $mainMod, ESCAPE, exec, $lockscreen #"Lock the screen" bind = $mainMod SHIFT, T, exec, $colorpicker #"Activate Color Picker" @@ -29,7 +29,11 @@ bind = $mainMod, P, pseudo, #"Toggle pseudotiling mode" bind = $mainMod, ;, togglesplit, #"Toggle split mode" bind = $mainMod, A, exec, $cheatsheet #"Display this cheatsheet" -# Move focus with mainMod + arrow keys +binde=, XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase #"Increase volume" +binde=, XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease #"Decrease volume" +binde=, XF86AudioMute, exec, noctalia-shell ipc call volume muteOutput #"Mute volume" + +# 3. Navigation bind = $mainMod, left, movefocus, l #"Navigate left" bind = $mainMod, down, movefocus, d #"Navigate right" bind = $mainMod, up, movefocus, u #"Navigate up" @@ -39,17 +43,9 @@ bind = $mainMod, J, movefocus, d #"Navigate down" bind = $mainMod, K, movefocus, u #"Navigate up" bind = $mainMod, L, movefocus, r #"Navigate right" -# Move active window around workspaces with mainMod + SHIFT + arrow keys -bind = $mainMod SHIFT, left, movewindow, l #"Move window left" -bind = $mainMod SHIFT, down, movetoworkspace, +1 #"Move window to left workspace" -bind = $mainMod SHIFT, up, movetoworkspace, -1 #"Move window to right workspace" -bind = $mainMod SHIFT, right, movewindow, r #"Move window right" -bind = $mainMod SHIFT, H, movewindow, l #"Move window left" -bind = $mainMod SHIFT, J, movetoworkspace, +1 #"Move window to left workspace" -bind = $mainMod SHIFT, K, movetoworkspace, -1 #"Move window to right workspace" -bind = $mainMod SHIFT, L, movewindow, r #"Move window right" +bind = $mainMod, mouse_down, workspace, e+1 #"Scroll forward through workspaces" +bind = $mainMod, mouse_up, workspace, e-1 #"Scroll backwards through workspaces" -# Switch workspaces with mainMod + [0-9] bind = $mainMod, 1, workspace, 1 #"Move to workspace 1" bind = $mainMod, 2, workspace, 2 #"Move to workspace 2" bind = $mainMod, 3, workspace, 3 #"Move to workspace 3" @@ -61,7 +57,19 @@ bind = $mainMod, 8, workspace, 8 #"Move to workspace 8" bind = $mainMod, 9, workspace, 9 #"Move to workspace 9" bind = $mainMod, 0, workspace, 10 #"Move to workspace 10" -# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod, Z, togglespecialworkspace, magic #"Toggle scratchpad" +bind = $mainMod SHIFT, Z, movetoworkspace, special:magic #"Move to scratchpad" + +# 4. Window Management +bind = $mainMod SHIFT, left, movewindow, l #"Move window left" +bind = $mainMod SHIFT, down, movetoworkspace, +1 #"Move window to left workspace" +bind = $mainMod SHIFT, up, movetoworkspace, -1 #"Move window to right workspace" +bind = $mainMod SHIFT, right, movewindow, r #"Move window right" +bind = $mainMod SHIFT, H, movewindow, l #"Move window left" +bind = $mainMod SHIFT, J, movetoworkspace, +1 #"Move window to left workspace" +bind = $mainMod SHIFT, K, movetoworkspace, -1 #"Move window to right workspace" +bind = $mainMod SHIFT, L, movewindow, r #"Move window right" + bind = $mainMod SHIFT, 1, movetoworkspace, 1 #"Move window to workspace 1" bind = $mainMod SHIFT, 2, movetoworkspace, 2 #"Move window to workspace 2" bind = $mainMod SHIFT, 3, movetoworkspace, 3 #"Move window to workspace 3" @@ -73,19 +81,5 @@ bind = $mainMod SHIFT, 8, movetoworkspace, 8 #"Move window to workspace 8" bind = $mainMod SHIFT, 9, movetoworkspace, 9 #"Move window to workspace 9" bind = $mainMod SHIFT, 0, movetoworkspace, 10 #"Move window to workspace 10" -# Example special workspace (scratchpad) -bind = $mainMod, S, togglespecialworkspace, magic #"Toggle scratchpad" -bind = $mainMod SHIFT, S, movetoworkspace, special:magic #"Move to scratchpad" - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 #"Scroll forward through workspaces" -bind = $mainMod, mouse_up, workspace, e-1 #"Scroll backwards through workspaces" - -# Move/resize windows with mainMod + LMB/RMB and dragging bindm = $mainMod, mouse:272, movewindow #"Move the window" bindm = $mainMod, mouse:273, resizewindow #"Resize the window" - -# Media key bindings -binde=, XF86AudioRaiseVolume, exec, noctalia-shell ipc call volume increase #"Increase volume" -binde=, XF86AudioLowerVolume, exec, noctalia-shell ipc call volume decrease #"Decrease volume" -binde=, XF86AudioMute, exec, noctalia-shell ipc call volume muteOutput #"Mute volume" diff --git a/dot_config/niri/config.kdl b/dot_config/niri/config.kdl index 7b0ec88..3ea0595 100644 --- a/dot_config/niri/config.kdl +++ b/dot_config/niri/config.kdl @@ -25,90 +25,75 @@ hotkey-overlay { screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" binds { - // --------------------------------------------------------- - // Applications & Launchers - // --------------------------------------------------------- - Mod+Space { spawn "walker"; } - Mod+Q { spawn "ghostty" "+new-window"; } - Mod+W { spawn "vivaldi"; } - Mod+E { spawn "obsidian"; } - Mod+R { spawn "zotero"; } - Mod+T { spawn "zeal"; } - Mod+Y { spawn "spotify"; } - Mod+U { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "controlCenter" "toggle"; } - Mod+I { spawn "onlyoffice-desktopeditors"; } - Mod+O { spawn "thunar"; } - Mod+P { spawn "missioncenter"; } - Mod+S { spawn "kitty"; } - Mod+D { spawn "walker-obsidian-search"; } + // #"1. Application Launchers" + Mod+Space hotkey-overlay-title="Activate the launcher" { spawn "walker"; } + Mod+Q hotkey-overlay-title="Launch the terminal" { spawn "ghostty" "+new-window"; } + Mod+W hotkey-overlay-title="Launch the browser" { spawn "vivaldi"; } + Mod+E hotkey-overlay-title="Launch the note manager" { spawn "obsidian"; } + Mod+R hotkey-overlay-title="Launch the literature manager" { spawn "zotero"; } + Mod+T hotkey-overlay-title="Launch the local documentation browser" { spawn "zeal"; } + Mod+Y hotkey-overlay-title="Launch the music player" { spawn "spotify"; } + Mod+U hotkey-overlay-title="Launch the control center" { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "controlCenter" "toggle"; } + Mod+I hotkey-overlay-title="Launch the office suite" { spawn "onlyoffice-desktopeditors"; } + Mod+O hotkey-overlay-title="Launch the file manager" { spawn "thunar"; } + Mod+P hotkey-overlay-title="Launch the performance monitor" { spawn "missioncenter"; } + Mod+S hotkey-overlay-title="Launch the backup terminal" { spawn "kitty"; } + Mod+D hotkey-overlay-title="Search the note manager" { spawn "walker-obsidian-search"; } - // --------------------------------------------------------- - // DE Functions - // --------------------------------------------------------- - Mod+Tab { spawn-sh "hyprshot --mode region -o ~/Pictures/Screenshot/"; } // Or replace with native `screenshot;` - Mod+Escape { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "lockScreen" "lock"; } - Mod+Shift+T { spawn "hyprpicker" "-a"; } - Mod+Period { spawn "walker" "-m" "symbols"; } - Mod+C { close-window; } - Mod+V { toggle-window-floating; } - Mod+M { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; } - Mod+A { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "plugin:keybind-cheatsheet" "toggle"; } + // #"2. Function Hotkeys" + Mod+Tab hotkey-overlay-title="Take a screenshot" { spawn-sh "hyprshot --mode region -o ~/Pictures/Screenshot/"; } // Or replace with native `screenshot;` + Mod+Escape hotkey-overlay-title="Lock the screen" { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "lockScreen" "lock"; } + Mod+Shift+T hotkey-overlay-title="Activate Color Picker" { spawn "hyprpicker" "-a"; } + Mod+Period hotkey-overlay-title="Launch emoji picker" { spawn "walker" "-m" "symbols"; } + Mod+C hotkey-overlay-title="Kill the active window" { close-window; } + Mod+V hotkey-overlay-title="Toggle floating window" { toggle-window-floating; } + Mod+M hotkey-overlay-title="Launch the power menu" { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "sessionMenu" "toggle"; } + Mod+A hotkey-overlay-title="Display this cheatsheet" { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "plugin:keybind-cheatsheet" "toggle"; } - // --------------------------------------------------------- - // Media Controls - // --------------------------------------------------------- - XF86AudioRaiseVolume allow-when-locked=true { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "increase"; } - XF86AudioLowerVolume allow-when-locked=true { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "decrease"; } - XF86AudioMute allow-when-locked=true { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "muteOutput"; } + XF86AudioRaiseVolume allow-when-locked=true hotkey-overlay-title="Increase volume" { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "increase"; } + XF86AudioLowerVolume allow-when-locked=true hotkey-overlay-title="Decrease volume" { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "decrease"; } + XF86AudioMute allow-when-locked=true hotkey-overlay-title="Mute volume" { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "muteOutput"; } - // --------------------------------------------------------- - // Navigation (The Niri Paradigm) - // Left/Right navigates columns, Up/Down navigates windows inside a column - // --------------------------------------------------------- - Mod+Left { focus-column-left; } - Mod+Down { focus-window-down; } - Mod+Up { focus-window-up; } - Mod+Right { focus-column-right; } - Mod+H { focus-column-left; } - Mod+J { focus-window-down; } - Mod+K { focus-window-up; } - Mod+L { focus-column-right; } + // #"3. Navigation" + Mod+Left hotkey-overlay-title="Navigate left" { focus-column-left; } + Mod+Down hotkey-overlay-title="Navigate down" { focus-window-down; } + Mod+Up hotkey-overlay-title="Navigate up" { focus-window-up; } + Mod+Right hotkey-overlay-title="Navigate right" { focus-column-right; } + Mod+H hotkey-overlay-title="Navigate left" { focus-column-left; } + Mod+J hotkey-overlay-title="Navigate down" { focus-window-down; } + Mod+K hotkey-overlay-title="Navigate up" { focus-window-up; } + Mod+L hotkey-overlay-title="Navigate right" { focus-column-right; } - // --------------------------------------------------------- - // Window Movement - // --------------------------------------------------------- - Mod+Shift+Left { move-column-left; } - Mod+Shift+Right { move-column-right; } - Mod+Shift+H { move-column-left; } - Mod+Shift+L { move-column-right; } + Mod+1 hotkey-overlay-title="Move to workspace 1" { focus-workspace 1; } + Mod+2 hotkey-overlay-title="Move to workspace 2" { focus-workspace 2; } + Mod+3 hotkey-overlay-title="Move to workspace 3" { focus-workspace 3; } + Mod+4 hotkey-overlay-title="Move to workspace 4" { focus-workspace 4; } + Mod+5 hotkey-overlay-title="Move to workspace 5" { focus-workspace 5; } + Mod+6 hotkey-overlay-title="Move to workspace 6" { focus-workspace 6; } + Mod+7 hotkey-overlay-title="Move to workspace 7" { focus-workspace 7; } + Mod+8 hotkey-overlay-title="Move to workspace 8" { focus-workspace 8; } + Mod+9 hotkey-overlay-title="Move to workspace 9" { focus-workspace 9; } - Mod+Shift+Down { move-window-to-workspace-down; } - Mod+Shift+Up { move-window-to-workspace-up; } - Mod+Shift+J { move-window-to-workspace-down; } - Mod+Shift+K { move-window-to-workspace-up; } + // #"4. Window Management" + Mod+Shift+Left hotkey-overlay-title="Move window left" { move-column-left; } + Mod+Shift+Right hotkey-overlay-title="Move window right" { move-column-right; } + Mod+Shift+H hotkey-overlay-title="Move window left" { move-column-left; } + Mod+Shift+L hotkey-overlay-title="Move window right" { move-column-right; } - // --------------------------------------------------------- - // Workspaces - // --------------------------------------------------------- - 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+Shift+Down hotkey-overlay-title="Move window to down workspace" { move-window-to-workspace-down; } + Mod+Shift+Up hotkey-overlay-title="Move window to up workspace" { move-window-to-workspace-up; } + Mod+Shift+J hotkey-overlay-title="Move window to down workspace" { move-window-to-workspace-down; } + Mod+Shift+K hotkey-overlay-title="Move window to up workspace" { move-window-to-workspace-up; } - Mod+Shift+1 { move-window-to-workspace 1; } - Mod+Shift+2 { move-window-to-workspace 2; } - Mod+Shift+3 { move-window-to-workspace 3; } - Mod+Shift+4 { move-window-to-workspace 4; } - Mod+Shift+5 { move-window-to-workspace 5; } - Mod+Shift+6 { move-window-to-workspace 6; } - Mod+Shift+7 { move-window-to-workspace 7; } - Mod+Shift+8 { move-window-to-workspace 8; } - Mod+Shift+9 { move-window-to-workspace 9; } + Mod+Shift+1 hotkey-overlay-title="Move window to workspace 1" { move-window-to-workspace 1; } + Mod+Shift+2 hotkey-overlay-title="Move window to workspace 2" { move-window-to-workspace 2; } + Mod+Shift+3 hotkey-overlay-title="Move window to workspace 3" { move-window-to-workspace 3; } + Mod+Shift+4 hotkey-overlay-title="Move window to workspace 4" { move-window-to-workspace 4; } + Mod+Shift+5 hotkey-overlay-title="Move window to workspace 5" { move-window-to-workspace 5; } + Mod+Shift+6 hotkey-overlay-title="Move window to workspace 6" { move-window-to-workspace 6; } + Mod+Shift+7 hotkey-overlay-title="Move window to workspace 7" { move-window-to-workspace 7; } + Mod+Shift+8 hotkey-overlay-title="Move window to workspace 8" { move-window-to-workspace 8; } + Mod+Shift+9 hotkey-overlay-title="Move window to workspace 9" { move-window-to-workspace 9; } - Mod+Shift+E { quit; } + Mod+Shift+E hotkey-overlay-title="Quit Niri" { quit; } }