aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/modules/workstation/ui/i3/keys.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/modules/workstation/ui/i3/keys.nix')
-rw-r--r--infra/libkookie/modules/workstation/ui/i3/keys.nix63
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";
+}