Created
March 1, 2020 16:14
-
-
Save darfink/9e7f63fc6b9a03c4fdd140528201f48b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
####################################### | |
# Modes | |
###################################### | |
:: default : yabai -m config active_window_border_color 0xffffffff | |
:: resize : yabai -m config active_window_border_color 0x99ff0000 | |
# Navigating windows | |
rshift + rcmd + rctrl + ralt - h : yabai -m window --focus west | |
rshift + rcmd + rctrl + ralt - j : yabai -m window --focus south | |
rshift + rcmd + rctrl + ralt - k : yabai -m window --focus north | |
rshift + rcmd + rctrl + ralt - l : yabai -m window --focus east | |
# Moving windows | |
rshift + rcmd + rctrl + ralt + lshift - h : yabai -m window --warp west | |
rshift + rcmd + rctrl + ralt + lshift - j : yabai -m window --warp south | |
rshift + rcmd + rctrl + ralt + lshift - k : yabai -m window --warp north | |
rshift + rcmd + rctrl + ralt + lshift - l : yabai -m window --warp east | |
# Resizing windows | |
rshift + rcmd + rctrl + ralt - r ; resize | |
resize < rshift + rcmd + rctrl + ralt - r ; default | |
resize < escape ; default | |
resize < h : \ | |
yabai -m window --resize left:-20:0 && \ | |
(yabai -m query --windows --display | jq -e '.[] | select(.focused == 1) | .floating == 0') && \ | |
yabai -m window --resize right:-20:0 | |
resize < j : \ | |
yabai -m window --resize bottom:0:20 && \ | |
(yabai -m query --windows --display | jq -e '.[] | select(.focused == 1) | .floating == 0') && \ | |
yabai -m window --resize top:0:20 | |
resize < k : \ | |
yabai -m window --resize top:0:-20 && \ | |
(yabai -m query --windows --display | jq -e '.[] | select(.focused == 1) | .floating == 0') && \ | |
yabai -m window --resize bottom:0:-20 | |
resize < l : \ | |
yabai -m window --resize right:20:0 && \ | |
(yabai -m query --windows --display | jq -e '.[] | select(.focused == 1) | .floating == 0') && \ | |
yabai -m window --resize left:20:0 | |
# Positioning windows | |
rshift + rcmd + rctrl + ralt - up : yabai -m window --grid 1:1:0:0:1:1 | |
rshift + rcmd + rctrl + ralt - left : yabai -m window --grid 1:2:0:0:1:1 | |
rshift + rcmd + rctrl + ralt - right : yabai -m window --grid 1:2:1:0:1:1 | |
# Equalize windows | |
rshift + rcmd + rctrl + ralt - 0 : yabai -m space --balance | |
# Rotating windows | |
#rshift + rcmd + rctrl + ralt - r : yabai -m space --rotate 90 | |
#rshift + rcmd + rctrl + ralt + lshift - r : yabai -m space --rotate 270 | |
####################################### | |
# Window attributes | |
###################################### | |
# Toggle floating | |
rshift + rcmd + rctrl + ralt - t : \ | |
yabai -m window --toggle float; \ | |
yabai -m window --grid 4:4:1:1:2:2 | |
# Toggle topmost | |
rshift + rcmd + rctrl + ralt - a : yabai -m window --toggle topmost | |
# Toggle sticky | |
rshift + rcmd + rctrl + ralt - s : yabai -m window --toggle sticky | |
# Toggle fullscreen | |
rshift + rcmd + rctrl + ralt - f : \ | |
yabai -m window --toggle zoom-fullscreen && \ | |
(yabai -m query --windows --display | jq -e '.[] | select(.focused == 1) | .floating == 1') && \ | |
yabai -m window --grid 1:1:0:0:1:1 | |
ctrl + cmd - f : yabai -m window --toggle native-fullscreen | |
####################################### | |
# Workspace operations | |
###################################### | |
# Creating workspaces | |
rshift + rcmd + rctrl + ralt - n : yabai -m space --create | |
rshift + rcmd + rctrl + ralt + lshift - n : \ | |
yabai -m space --create && \ | |
index="$(yabai -m query --spaces --display | jq 'map(select(."native-fullscreen" == 0))[-1].index')" && \ | |
yabai -m space --focus "${index}" | |
rshift + rcmd + rctrl + ralt - w : \ | |
(yabai -m space --focus next || yabai -m space --focus prev) && yabai -m space recent --destroy | |
# Focus workspaces | |
rshift + rcmd + rctrl + ralt - 1 : yabai -m space --focus 1 | |
rshift + rcmd + rctrl + ralt - 2 : yabai -m space --focus 2 | |
rshift + rcmd + rctrl + ralt - 3 : yabai -m space --focus 3 | |
rshift + rcmd + rctrl + ralt - 4 : yabai -m space --focus 4 | |
rshift + rcmd + rctrl + ralt - 5 : yabai -m space --focus 5 | |
rshift + rcmd + rctrl + ralt - 6 : yabai -m space --focus 6 | |
rshift + rcmd + rctrl + ralt - 7 : yabai -m space --focus 7 | |
rshift + rcmd + rctrl + ralt - 8 : yabai -m space --focus 8 | |
rshift + rcmd + rctrl + ralt - 9 : yabai -m space --focus 9 | |
rshift + rcmd + rctrl + ralt - q : yabai -m space --focus recent | |
# Move window to workspace | |
rshift + rcmd + rctrl + ralt + lshift - z : yabai -m window --space prev | |
rshift + rcmd + rctrl + ralt + lshift - x : yabai -m window --space next | |
rshift + rcmd + rctrl + ralt + lshift - 1 : yabai -m window --space 1 | |
rshift + rcmd + rctrl + ralt + lshift - 2 : yabai -m window --space 2 | |
rshift + rcmd + rctrl + ralt + lshift - 3 : yabai -m window --space 3 | |
rshift + rcmd + rctrl + ralt + lshift - 4 : yabai -m window --space 4 | |
rshift + rcmd + rctrl + ralt + lshift - 5 : yabai -m window --space 5 | |
rshift + rcmd + rctrl + ralt + lshift - 6 : yabai -m window --space 6 | |
rshift + rcmd + rctrl + ralt + lshift - 7 : yabai -m window --space 7 | |
rshift + rcmd + rctrl + ralt + lshift - 8 : yabai -m window --space 8 | |
rshift + rcmd + rctrl + ralt + lshift - 9 : yabai -m window --space 9 | |
# Iterate workspaces | |
rshift + rcmd + rctrl + ralt - 0x32 : yabai -m space --focus last | |
rshift + rcmd + rctrl + ralt - z : yabai -m space --focus prev | |
rshift + rcmd + rctrl + ralt - x : yabai -m space --focus next | |
####################################### | |
# Miscellaneous | |
###################################### | |
# Open a new terminal with <Enter> | |
rshift + rcmd + rctrl + ralt - return : open -nb io.alacritty | |
# Reload the SKHD configuration file | |
rshift + rcmd + rctrl + ralt + lshift - c : skhd -r | |
# Restart/exit the yabai service | |
rshift + rcmd + rctrl + ralt + lshift - r : brew services restart yabai | |
rshift + rcmd + rctrl + ralt + lshift - e : brew services stop yabai |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment