# yabai binds # Window focus alt - h : yabai -m window --focus west alt - j : yabai -m window --focus south alt - k : yabai -m window --focus north alt - l : yabai -m window --focus east # Window swaps alt + ctrl - h : yabai -m window --swap west alt + ctrl - j : yabai -m window --swap south alt + ctrl - k : yabai -m window --swap north alt + ctrl - l : yabai -m window --swap east # Move window absolute shift + alt - h : yabai -m window --warp west shift + alt - j : yabai -m window --warp south shift + alt - k : yabai -m window --warp north shift + alt - l : yabai -m window --warp east # create desktop, move window and follow focus - uses jq for parsing json (brew install jq) # shift + cmd - n : yabai -m space --create && \ # index="$(yabai -m query --spaces --display | jq 'map(select(."native-fullscreen" == 0))[-1].index')" && \ # yabai -m window --space "${index}" && \ # yabai -m space --focus "${index}" # Workspace focus alt - 1 : yabai -m space --focus 1 alt - 2 : yabai -m space --focus 2 alt - 3 : yabai -m space --focus 3 alt - 4 : yabai -m space --focus 4 alt - 5 : yabai -m space --focus 5 alt - 6 : yabai -m space --focus 6 alt - 7 : yabai -m space --focus 7 alt - 8 : yabai -m space --focus 8 alt - 9 : yabai -m space --focus 9 # Send window to workspace shift + alt - 1 : yabai -m window --space 1 shift + alt - 2 : yabai -m window --space 2 shift + alt - 3 : yabai -m window --space 3 shift + alt - 4 : yabai -m window --space 4 shift + alt - 5 : yabai -m window --space 5 shift + alt - 6 : yabai -m window --space 6 shift + alt - 7 : yabai -m window --space 7 shift + alt - 8 : yabai -m window --space 8 shift + alt - 9 : yabai -m window --space 9 # Send window, follow focus shift + ctrl + alt - 1 : yabai -m window --space 1; yabai -m space --focus 1 shift + ctrl + alt - 2 : yabai -m window --space 2; yabai -m space --focus 2 shift + ctrl + alt - 3 : yabai -m window --space 3; yabai -m space --focus 3 shift + ctrl + alt - 4 : yabai -m window --space 4; yabai -m space --focus 4 shift + ctrl + alt - 5 : yabai -m window --space 5; yabai -m space --focus 5 shift + ctrl + alt - 6 : yabai -m window --space 6; yabai -m space --focus 6 shift + ctrl + alt - 7 : yabai -m window --space 7; yabai -m space --focus 7 shift + ctrl + alt - 8 : yabai -m window --space 8; yabai -m space --focus 8 shift + ctrl + alt - 9 : yabai -m window --space 9; yabai -m space --focus 9 # Resize cmd + alt - h : yabai -m window --resize left:-20:0 cmd + alt - j : yabai -m window --resize top:0:20 cmd + alt - k : yabai -m window --resize top:0:-20 cmd + alt - l : yabai -m window --resize left:20:0 # Insertion point ctrl + shift - h : yabai -m window --insert west ctrl + shift - j : yabai -m window --insert south ctrl + shift - k : yabai -m window --insert north ctrl + shift - l : yabai -m window --insert east # Layout shift + alt - t : yabai -m space --layout float alt - t : yabai -m space --layout bsp # Float alt + shift - space : yabai -m window --toggle float # toggle sticky(+float), topmost, picture-in-picture alt - p : yabai -m window --toggle sticky;\ yabai -m window --toggle topmost;\ yabai -m window --toggle pip # Reload ctrl + alt + cmd - r : launchctl kickstart -k "gui/${UID}/homebrew.mxcl.yabai" # Close window alt + shift - q : yabai -m window --close # Fullscreen alt - f : yabai -m window --toggle zoom-fullscreen shift + alt - f : yabai -m window --toggle native-fullscreen # Programs alt - return : $HOME/.config/yabai/iterm2_open alt - w : /Applications/Firefox.app/Contents/MacOS/firefox