Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save escherize/b663c905b09f42b336d47cbc2359995c to your computer and use it in GitHub Desktop.
Save escherize/b663c905b09f42b336d47cbc2359995c to your computer and use it in GitHub Desktop.
# focus window
shift + cmd - a : chunkc tiling::window --focus west
shift + cmd - s : chunkc tiling::window --focus south
shift + cmd - w : chunkc tiling::window --focus north
shift + cmd - d : chunkc tiling::window --focus east
# warp window
shift + cmd - j : chunkc tiling::window --warp west
shift + cmd - k : chunkc tiling::window --warp south
shift + cmd - i : chunkc tiling::window --warp north
shift + cmd - l : chunkc tiling::window --warp east
# increase region size
# cmd + alt - j : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge west
# cmd + alt - k : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge south
# cmd + alt - i : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge north
# cmd + alt - l : chunkc tiling::window --use-temporary-ratio 0.1 --adjust-window-edge east
# decrease region size
# shift + cmd + alt - j : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge west
# shift + cmd + alt - k : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge south
# shift + cmd + alt - i : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge north
# shift + cmd + alt - l : chunkc tiling::window --use-temporary-ratio -0.1 --adjust-window-edge east
# toggle window split type
cmd - g : chunkc tiling::desktop --gap dec; chunkc tiling::desktop --padding dec
shift + cmd - g : chunkc tiling::desktop --gap inc; chunkc tiling::desktop --padding inc
# toggle
alt - e : chunkc tiling::window --toggle split
# toggle window parent zoom
shift + alt - d : chunkc tiling::window --toggle parent
# rotate tree
alt - r : chunkc tiling::desktop --rotate 90
# equalize size of windows
shift + alt - 0 : chunkc tiling::desktop --equalize
# mirror tree y-axis
shift + alt - y : chunkc tiling::desktop --mirror vertical
# mirror tree x-axis
shift + alt - x : chunkc tiling::desktop --mirror horizontal
# offset
alt - a : chunkc tiling::desktop --toggle offset
cmd - g : chunkc tiling::desktop --gap dec; chunkc tiling::desktop --padding dec
shift + cmd - g : chunkc tiling::desktop --gap inc; chunkc tiling::desktop --padding inc
# toggle window fullscreen
shift + alt - f : chunkc tiling::window --toggle fullscreen
### FLOATING
# float / unfloat window and center on screen
# shift + alt - c : chunkc tiling::window --toggle float;\
# chunkc tiling::window --grid-layout 4:4:1:1:2:2
# ########### MULTIPLE MONITORS #####################
# # send window to desktop and follow focus
# alt + ctrl + cmd - l : chunkc tiling::window --send-to-desktop prev; chunkc tiling::desktop --focus prev
# alt + ctrl + cmd - j : chunkc tiling::window --send-to-desktop next; chunkc tiling::desktop --focus next
# # what is a desktop vs monitor?
# # focus monitor
# cmd + ctrl + alt - i : chunkc tiling::monitor -f prev
# cmd + ctrl + alt - k : chunkc tiling::monitor -f next
##################### DISABLED: ####################
# # toggle window fade
# alt - q : chunkc tiling::window --toggle fade
# # set insertion point for focused container
# # 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
# ### FLOATING
# # make floating window fill screen
# # shift + alt - up : chunkc tiling::window --grid-layout 1:1:0:0:1:1
# # make floating window fill left-half of screen
# # shift + alt - left : chunkc tiling::window --grid-layout 1:2:0:0:1:1
# # make floating window fill right-half of screen
# # shift + alt - right : chunkc tiling::window --grid-layout 1:2:1:0:1:1
# # toggle sticky, float and resize to picture-in-picture size
# alt + shift - s : chunkc tiling::window --toggle sticky;\
# chunkc tiling::window --grid-layout 5:5:4:0:1:1
# # float next window to be tiled
# # shift + alt - t : chunkc set window_float_next 1
# # ctrl + alt - w : chunkc tiling::desktop --deserialize ~/.chunkwm_layouts/dev_1
# # fast focus desktop
# # cmd + alt - x : chunkc tiling::desktop --focus $(chunkc get _last_active_desktop)
# # cmd + alt - z : chunkc tiling::desktop --focus prev
# # cmd + alt - c : chunkc tiling::desktop --focus next
# # cmd + alt - 1 : chunkc tiling::desktop --focus 1
# # cmd + alt - 2 : chunkc tiling::desktop --focus 2
# # cmd + alt - 3 : chunkc tiling::desktop --focus 3
# # cmd + alt - 4 : chunkc tiling::desktop --focus 4
# # cmd + alt - 5 : chunkc tiling::desktop --focus 5
# # cmd + alt - 6 : chunkc tiling::desktop --focus 6
# # cmd + alt - 7 : chunkc tiling::desktop --focus 7
# # send window to desktop
# shift + ctrl + alt - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop)
# shift + crtl + 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
# # shift + alt - 7 : chunkc tiling::window --send-to-desktop 7
# # send window to desktop and follow focus
# # shift + cmd - x : chunkc tiling::window --send-to-desktop $(chunkc get _last_active_desktop); chunkc tiling::desktop --focus $(chunkc get _last_active_desktop)
# # shift + cmd - 1 : chunkc tiling::window --send-to-desktop 1; chunkc tiling::desktop --focus 1
# # shift + cmd - 2 : chunkc tiling::window --send-to-desktop 2; chunkc tiling::desktop --focus 2
# # shift + cmd - 3 : chunkc tiling::window --send-to-desktop 3; chunkc tiling::desktop --focus 3
# # shift + cmd - 4 : chunkc tiling::window --send-to-desktop 4; chunkc tiling::desktop --focus 4
# # shift + cmd - 5 : chunkc tiling::window --send-to-desktop 5; chunkc tiling::desktop --focus 5
# # shift + cmd - 6 : chunkc tiling::window --send-to-desktop 6; chunkc tiling::desktop --focus 6
# # shift + cmd - 7 : chunkc tiling::window --send-to-desktop 7; chunkc tiling::desktop --focus 7
# # focus monitor
# # 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
# # toggle window native fullscreen
# # alt - f : chunkc tiling::window --toggle native-fullscreen
# # set insertion point for focused container
# # ctrl + alt - f : chunkc tiling::window --use-insertion-point cancel
# # 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
# # NOTE(koekeishiya): A list of all built-in modifier and literal keywords can
# # be found at https://github.com/koekeishiya/skhd/issues/1
# #
# # A hotkey is written according to the following rules:
# #
# # hotkey = <mode> '<' <action> | <action>
# #
# # mode = 'name of mode' | <mode> ',' <mode>
# #
# # action = <keysym> ':' <command> | <keysym> '->' ':' <command>
# # <keysym> ';' <mode> | <keysym> '->' ';' <mode>
# #
# # 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)'
# #
# # -> = keypress is not consumed by skhd
# #
# # 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.
# #
# #
# # NOTE(koekeishiya): A mode is declared according to the following rules:
# #
# # mode_decl = '::' <name> '@' ':' <command> | '::' <name> ':' <command> |
# # '::' <name> '@' | '::' <name>
# #
# # name = desired name for this mode,
# #
# # @ = capture keypresses regardless of being bound to an action
# #
# # 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment