aboutsummaryrefslogtreecommitdiff
path: root/examples/skhdrc
diff options
context:
space:
mode:
Diffstat (limited to 'examples/skhdrc')
-rw-r--r--examples/skhdrc153
1 files changed, 153 insertions, 0 deletions
diff --git a/examples/skhdrc b/examples/skhdrc
new file mode 100644
index 0000000..b9f2c09
--- /dev/null
+++ b/examples/skhdrc
@@ -0,0 +1,153 @@
+## NOTE(koekeishiya): A hotkey is written according to the following rules:
+#
+# hotkey = <keysym> ':' <command> |
+# <keysym> '->' ':' <command>
+#
+# keysym = <mod> '-' <key> | <key>
+#
+# mod = 'built-in mod keyword' | <mod> '+' <mod>
+#
+# key = <literal> | <keycode>
+#
+# literal = 'single letter or built-in keyword'
+#
+# keycode = 'apple keyboard kVK_<Key> values (0x3C)'
+#
+# -> = optional operator '->' marks this bind as passthrough.
+# this causes the key to be passed through to the system,
+# instead of being consumed.
+#
+# command = command is executed through '$SHELL -c' and
+# follows valid shell syntax. if the $SHELL environment
+# variable is not set, it will default to '/bin/bash'.
+# when bash is used, the ';' delimeter can be specified
+# to chain commands.
+#
+# to allow a command to extend into multiple lines,
+# prepend '\' at the end of the previous line.
+#
+# an EOL character signifies the end of the bind.
+
+
+# open terminal, blazingly fast compared to iTerm/Hyper
+cmd - return : open -na /Applications/Kitty.app
+
+# focus window
+alt - h : chunkc tiling::window --focus west
+alt - j : chunkc tiling::window --focus south
+alt - k : chunkc tiling::window --focus north
+alt - l : chunkc tiling::window --focus east
+
+cmd - j : chunkc tiling::window --focus prev
+cmd - k : chunkc tiling::window --focus next
+
+# equalize size of windows
+shift + alt - 0 : chunkc tiling::desktop --equalize
+
+# swap window
+shift + alt - h : chunkc tiling::window --swap west
+shift + alt - j : chunkc tiling::window --swap south
+shift + alt - k : chunkc tiling::window --swap north
+shift + alt - l : chunkc tiling::window --swap east
+
+# move window
+shift + cmd - h : chunkc tiling::window --warp west
+shift + cmd - j : chunkc tiling::window --warp south
+shift + cmd - k : chunkc tiling::window --warp north
+shift + cmd - l : chunkc tiling::window --warp east
+
+# move floating windows / windows on a floating space
+shift + alt - up : chunkc tiling::window --warp-floating fullscreen
+shift + alt - left : chunkc tiling::window --warp-floating left
+shift + alt - right : chunkc tiling::window --warp-floating right
+shift + cmd - left : chunkc tiling::window --warp-floating top-left
+shift + cmd - right : chunkc tiling::window --warp-floating top-right
+shift + ctrl - left : chunkc tiling::window --warp-floating bottom-left
+shift + ctrl - right : chunkc tiling::window --warp-floating bottom-right
+
+# send window to desktop
+shift + alt - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop)
+shift + alt - z : chunkc tiling::window --send-to-desktop prev
+shift + alt - c : chunkc tiling::window --send-to-desktop next
+shift + alt - 1 : chunkc tiling::window --send-to-desktop 1
+shift + alt - 2 : chunkc tiling::window --send-to-desktop 2
+shift + alt - 3 : chunkc tiling::window --send-to-desktop 3
+shift + alt - 4 : chunkc tiling::window --send-to-desktop 4
+shift + alt - 5 : chunkc tiling::window --send-to-desktop 5
+shift + alt - 6 : chunkc tiling::window --send-to-desktop 6
+
+# focus monitor
+ctrl + alt - z : chunkc tiling::monitor -f prev
+ctrl + alt - c : chunkc tiling::monitor -f next
+ctrl + alt - 1 : chunkc tiling::monitor -f 1
+ctrl + alt - 2 : chunkc tiling::monitor -f 2
+ctrl + alt - 3 : chunkc tiling::monitor -f 3
+
+# send window to monitor and follow focus
+ctrl + cmd - z : chunkc tiling::window --send-to-monitor prev; chunkc tiling::monitor -f prev
+ctrl + cmd - c : chunkc tiling::window --send-to-monitor next; chunkc tiling::monitor -f next
+ctrl + cmd - 1 : chunkc tiling::window --send-to-monitor 1; chunkc tiling::monitor -f 1
+ctrl + cmd - 2 : chunkc tiling::window --send-to-monitor 2; chunkc tiling::monitor -f 2
+ctrl + cmd - 3 : chunkc tiling::window --send-to-monitor 3; chunkc tiling::monitor -f 3
+
+# increase region size
+shift + alt - a : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west
+shift + alt - s : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south
+shift + alt - w : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north
+shift + alt - d : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east
+
+# decrease region size
+shift + cmd - a : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west
+shift + cmd - s : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south
+shift + cmd - w : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north
+shift + cmd - d : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east
+
+# set insertion point for focused container
+ctrl + alt - f : chunkc tiling::window --use-insertion-point cancel
+ctrl + alt - h : chunkc tiling::window --use-insertion-point west
+ctrl + alt - j : chunkc tiling::window --use-insertion-point south
+ctrl + alt - k : chunkc tiling::window --use-insertion-point north
+ctrl + alt - l : chunkc tiling::window --use-insertion-point east
+
+# rotate tree
+alt - r : chunkc tiling::desktop --rotate 90
+
+# mirror tree y-axis
+alt - y : chunkc tiling::desktop --mirror vertical
+
+# mirror tree x-axis
+alt - x : chunkc tiling::desktop --mirror horizontal
+
+# toggle desktop offset
+alt - a : chunkc tiling::desktop --toggle offset
+
+# toggle window fullscreen
+alt - f : chunkc tiling::window --toggle fullscreen
+
+# toggle window native fullscreen
+shift + alt - f : chunkc tiling::window --toggle native-fullscreen
+
+# toggle window parent zoom
+alt - d : chunkc tiling::window --toggle parent
+
+# toggle window split type
+alt - e : chunkc tiling::window --toggle split
+
+# float / unfloat window
+alt - t : chunkc tiling::window --toggle float
+
+# toggle sticky, float and resize to picture-in-picture size
+alt - s : chunkc tiling::window --toggle sticky;\
+ chunkc tiling::window --warp-floating pip-right
+
+# float next window to be tiled
+shift + alt - t : chunkc set window_float_next 1
+
+# change layout of desktop
+ctrl + alt - a : chunkc tiling::desktop --layout bsp
+ctrl + alt - s : chunkc tiling::desktop --layout monocle
+ctrl + alt - d : chunkc tiling::desktop --layout float
+
+ctrl + alt - w : chunkc tiling::desktop --deserialize ~/.chunkwm_layouts/dev_1
+
+aasdsa : say "hello"