diff options
Diffstat (limited to 'infra/libkookie/modules/workstation/ui/i3/keys.nix')
-rw-r--r-- | infra/libkookie/modules/workstation/ui/i3/keys.nix | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/infra/libkookie/modules/workstation/ui/i3/keys.nix b/infra/libkookie/modules/workstation/ui/i3/keys.nix new file mode 100644 index 000000000000..05497926cc5c --- /dev/null +++ b/infra/libkookie/modules/workstation/ui/i3/keys.nix @@ -0,0 +1,63 @@ +{ pkgs, modifier }: + +{ + # Start a terminal + "${modifier}+Return" = "exec ${pkgs.kitty}/bin/kitty"; + + # Area screenshot support + "${modifier}+9" = "exec ${pkgs.libkookie-i3-scrcap}"; + + # Close individual windows + "${modifier}+Shift+q" = "kill"; + + # Full-screen window + "${modifier}+f" = "fullscreen"; + + # Start software on <this> or <other> workspace + "${modifier}+e" = "exec ${pkgs.dmenu}/bin/dmenu_run"; + + # Switch to workspace (optionally take current window) + "${modifier}+o" = "exec ${pkgs.libkookie-i3-switch}"; + "${modifier}+Shift+o" = "exec ${pkgs.libkookie-i3-move}"; + + # Rename workspaces + "${modifier}+Ctrl+r" = "exec ${pkgs.libkookie-i3-rename}"; + # Move focus around - vim style + "${modifier}+h" = "focus left"; + "${modifier}+t" = "focus up"; + "${modifier}+n" = "focus down"; + "${modifier}+s" = "focus right"; + + # Move focus around - boring style + "${modifier}+Up" = "focus up"; + "${modifier}+Down" = "focus down"; + "${modifier}+Left" = "focus left"; + "${modifier}+Right" = "focus right"; + + # Move windows - vim style + "${modifier}+Shift+h" = "move left"; + "${modifier}+Shift+t" = "move up"; + "${modifier}+Shift+n" = "move down"; + "${modifier}+Shift+s" = "move right"; + + # Move windows - boring style + "${modifier}+Shift+Up" = "move up"; + "${modifier}+Shift+Down" = "move down"; + "${modifier}+Shift+Left" = "move left"; + "${modifier}+Shift+Right" = "move right"; + + # Move workspaces between multi-monitor setups + "${modifier}+Ctrl+Shift+Up" = "move workspace to output up"; + "${modifier}+Ctrl+Shift+Down" = "move workspace to output down"; + "${modifier}+Ctrl+Shift+Left" = " move workspace to output left"; + "${modifier}+Ctrl+Shift+Right" = "move workspace to output right"; + + # Define split behaviours + "${modifier}+2" = "split h"; + "${modifier}+1" = "split v"; + + # Some layout modifiers + "${modifier}+3" = "layout default"; + "${modifier}+4" = "layout tabbed"; + "${modifier}+5" = "layout stacked"; +} |