diff --git a/options/custom/desktops/niri/binds.nix b/options/custom/desktops/niri/binds.nix index ba314ef..ab9e389 100644 --- a/options/custom/desktops/niri/binds.nix +++ b/options/custom/desktops/niri/binds.nix @@ -18,7 +18,6 @@ with lib; let hyprlock = "${config.home-manager.users.${config.custom.username}.programs.hyprlock.package}/bin/hyprlock"; hyprpicker = "${pkgs.hyprpicker}/bin/hyprpicker"; inhibit = config.home-manager.users.${config.custom.username}.home.file.".local/bin/inhibit".source; - kitty = "${config.home-manager.users.${config.custom.username}.programs.kitty.package}/bin/kitty"; loginctl = "${pkgs.systemd}/bin/loginctl"; loupe = "${pkgs.loupe}/bin/loupe"; nautilus = "${pkgs.nautilus}/bin/nautilus"; @@ -70,6 +69,40 @@ in { # TODO: Focus window if already launched # https://github.com/YaLTeR/niri/discussions/267 #?? niri msg action focus-window --id (niri msg -j windows | jq '.[] | select(.app_id == "").id') + (key "Apostrophe" "Mod" screenshot) + (key "Apostrophe" "Mod+Ctrl+Shift" screenshot-screen) + (key "Apostrophe" "Mod+Shift" screenshot-window) + (key "Backslash" "Mod" (spawn inhibit)) + (key "Backslash" "Mod+Shift" (spawn power)) + (key "Backspace" "Mod" center-column) + (key "Bracketleft" "Mod" (switch-layout "prev")) + (key "Bracketright" "Mod" (switch-layout "next")) + (key "Delete" "Ctrl+Alt" (spawn [loginctl "terminate-user" config.custom.username])) + (key "Delete" "Mod" (spawn [playerctl] "play-pause")) + (key "Down" "Mod" (spawn [swayosd-client "--brightness" "lower"])) + (key "Equal" "Mod" (spawn [swayosd-client "--output-volume" "raise"])) + (key "Escape" "Mod" switch-focus-between-floating-and-tiling) + (key "Escape" "Mod+Alt" (spawn ["lifx" "state" "--color" "red"])) + (key "Escape" "Mod+Shift" toggle-window-floating) + (key "Left" "Mod" (spawn [playerctl "previous"])) + (key "Minus" "Mod" (spawn [swayosd-client "--output-volume" "lower"])) + (key "Return" "Mod" maximize-column) + (key "Return" "Mod+Shift" fullscreen-window) + (key "Right" "Mod" (spawn [playerctl "next"])) + (key "Slash" "Mod" (spawn [loupe "/tmp/wallpaper.png"])) + (key "Slash" "Mod+Shift" show-hotkey-overlay) + (key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"])) + (key "Tab" "Mod" toggle-column-tabbed-display) + (key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"])) + (key "WheelScrollDown" "Mod" focus-window-or-workspace-down) + (key "WheelScrollDown" "Mod+Shift" move-window-down-or-to-workspace-down) + (key "WheelScrollLeft" "Mod" focus-column-or-monitor-left) + (key "WheelScrollLeft" "Mod+Shift" move-column-left-or-to-monitor-left) + (key "WheelScrollRight" "Mod" focus-column-or-monitor-right) + (key "WheelScrollRight" "Mod+Shift" move-column-right-or-to-monitor-right) + (key "WheelScrollUp" "Mod" focus-window-or-workspace-up) + (key "WheelScrollUp" "Mod+Shift" move-window-up-or-to-workspace-up) + (key "0" "Mod" (spawn [swayosd-client "--output-volume" "mute-toggle"])) (key "1" "Ctrl+Alt" (spawn ["lifx" "state" "--brightness" "0.01"])) (key "1" "Mod" (focus-workspace "1")) @@ -98,28 +131,17 @@ in { (key "8" "Mod" (focus-workspace "8")) (key "8" "Mod+Shift" (move-column-to-workspace "8")) (key "9" "Mod" (spawn audio)) - (key "A" "Ctrl+Alt" (spawn [waydroid "session" "stop"])) (key "A" "Mod" focus-column-or-monitor-left) (key "A" "Mod+Ctrl" consume-or-expel-window-left) (key "A" "Mod+Shift" move-column-left-or-to-monitor-left) - (key "Apostrophe" "Mod" screenshot) - (key "Apostrophe" "Mod+Ctrl+Shift" screenshot-screen) - (key "Apostrophe" "Mod+Shift" screenshot-window) (key "B" "Ctrl+Alt" (spawn [pkill config.custom.browser.command])) (key "B" "Mod" (spawn config.custom.browser.command)) - (key "Backslash" "Mod" (spawn inhibit)) - (key "Backslash" "Mod+Shift" (spawn power)) - (key "Backspace" "Mod" center-column) - (key "Bracketleft" "Mod" (switch-layout "prev")) - (key "Bracketright" "Mod" (switch-layout "next")) - (key "Delete" "Ctrl+Alt" (spawn [loginctl "terminate-user" config.custom.username])) - (key "Delete" "Mod" (spawn [playerctl] "play-pause")) - (key "Down" "Mod" (spawn [swayosd-client "--brightness" "lower"])) + (key "C" "Mod" (spawn config.custom.menus.clipboard.show)) + (key "C" "Mod+Shift" (spawn config.custom.menus.clipboard.clear)) + (key "D" "Ctrl+Alt" (spawn [waydroid "session" "stop"])) + (key "D" "Mod" (spawn [waydroid "app" "launch" "com.YoStarEN.Arknights"])) (key "E" "Ctrl+Alt" (spawn [pkill "gnome-text-editor"])) - (key "E" "Mod" (spawn gnome-text-editor)) - (key "Equal" "Mod" (spawn [swayosd-client "--output-volume" "raise"])) - (key "Escape" "Mod" toggle-window-floating) - (key "Escape" "Mod+Alt" (spawn ["lifx" "state" "--color" "red"])) + (key "E" "Mod" (spawn [gnome-text-editor "--new-window"])) (key "F" "Mod" (spawn [nautilus "--new-window"])) (key "G" "Ctrl+Alt" (spawn [pkill "steam"])) (key "G" "Mod" (spawn steam)) @@ -129,46 +151,24 @@ in { (key "K" "Mod" (spawn obsidian)) (key "L" "Mod" (spawn [bash "-c" "${hyprlock} --immediate & ${niri} msg action power-off-monitors"])) (key "L" "Mod+Shift" suspend) - (key "Left" "Mod" (spawn [playerctl "previous"])) (key "M" "Ctrl+Alt" (spawn [pkill "youtube-music"])) (key "M" "Mod" (spawn youtube-music)) - (key "Minus" "Mod" (spawn [swayosd-client "--output-volume" "lower"])) - (key "N" "Mod" (spawn networkmanager_dmenu)) - (key "O" "Mod" (spawn [loupe "/tmp/wallpaper.png"])) + (key "O" "Mod" (spawn [hyprpicker "--autocopy"])) + (key "O" "Mod+Shift" (spawn [hyprpicker "--autocopy --format rgb"])) (key "P" "Ctrl+Alt" (spawn [pkill "bitwarden"])) - (key "P" "Mod" (spawn config.custom.menus.vault.show)) - (key "P" "Mod+Shift" (spawn bitwarden)) + (key "P" "Mod" (spawn bitwarden)) (key "Q" "Mod" close-window) (key "R" "Mod" focus-window-or-workspace-down) (key "R" "Mod+Shift" move-window-down-or-to-workspace-down) - (key "Return" "Mod" maximize-column) - (key "Return" "Mod+Shift" fullscreen-window) - (key "Right" "Mod" (spawn [playerctl "next"])) (key "S" "Mod" focus-column-or-monitor-right) (key "S" "Mod+Ctrl" consume-or-expel-window-right) (key "S" "Mod+Shift" move-column-right-or-to-monitor-right) - (key "Semicolon" "Mod" (spawn [hyprpicker "--autocopy"])) - (key "Semicolon" "Mod+Shift" (spawn [hyprpicker "--autocopy --format rgb"])) - (key "Slash" "Mod+Shift" show-hotkey-overlay) - (key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"])) - (key "Space" "Ctrl+Alt" (spawn ["lifx" "toggle"])) (key "T" "Ctrl+Alt" (spawn [pkill "ghostty"])) (key "T" "Mod" (spawn ghostty)) - (key "Tab" "Mod" switch-focus-between-floating-and-tiling) - (key "Up" "Mod" (spawn [swayosd-client "--brightness" "raise"])) - (key "V" "Mod" (spawn config.custom.menus.clipboard.show)) + (key "V" "Mod" (spawn virt-manager)) (key "V" "Mod+Ctrl" (spawn vm)) - (key "V" "Mod+Shift" (spawn config.custom.menus.clipboard.clear)) (key "W" "Mod" focus-window-or-workspace-up) (key "W" "Mod+Shift" move-window-up-or-to-workspace-up) - (key "WheelScrollDown" "Mod" focus-window-or-workspace-down) - (key "WheelScrollDown" "Mod+Shift" move-window-down-or-to-workspace-down) - (key "WheelScrollLeft" "Mod" focus-column-or-monitor-left) - (key "WheelScrollLeft" "Mod+Shift" move-column-left-or-to-monitor-left) - (key "WheelScrollRight" "Mod" focus-column-or-monitor-right) - (key "WheelScrollRight" "Mod+Shift" move-column-right-or-to-monitor-right) - (key "WheelScrollUp" "Mod" focus-window-or-workspace-up) - (key "WheelScrollUp" "Mod+Shift" move-window-up-or-to-workspace-up) (key "X" "Mod" (set-column-width "+10%")) (key "X" "Mod+Ctrl" (set-column-width "100%")) (key "X" "Mod+Ctrl+Shift" (set-window-height "100%")) @@ -184,7 +184,9 @@ in { #// (key "Shift_L" "Mod" focus-workspace-previous) # TODO: Use "Super_L" when fixed (key "Space" "Mod" (spawn config.custom.menus.default.show)) + (key "Space" "Mod+Alt" (spawn config.custom.menus.vault.show)) (key "Space" "Mod+Ctrl" (spawn config.custom.menus.calculator.show)) + (key "Space" "Mod+Ctrl+Shift" (spawn networkmanager_dmenu)) (key "Space" "Mod+Shift" (spawn config.custom.menus.search.show)) # Media keys