Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
# 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
You can’t perform that action at this time.