# Change window focus within space
shift + cmd - j : yabai -m window --focus south
shift + cmd - k : yabai -m window --focus north
shift + cmd - h : yabai -m window --focus west
shift + cmd - l : yabai -m window --focus east

# Resize windows
lctrl + alt - h : yabai -m window --resize left:-50:0; yabai -m window --resize right:-50:0
lctrl + alt - j : yabai -m window --resize bottom:0:50; yabai -m window --resize top:0:50
lctrl + alt - k : yabai -m window --resize top:0:-50; yabai -m window --resize bottom:0:-50
lctrl + alt - l : yabai -m window --resize right:50:0; yabai -m window --resize left:50:0

# Equalize size of windows
lctrl + alt - e : yabai -m space --balance

# Change space
shift + cmd - 1 : yabai -m space --focus 1
shift + cmd - 2 : yabai -m space --focus 2
shift + cmd - 3 : yabai -m space --focus 3
shift + cmd - 4 : yabai -m space --focus 4
shift + cmd - 5 : yabai -m space --focus 5
shift + cmd - 6 : yabai -m space --focus 6
shift + cmd - 7 : yabai -m space --focus 7

# Change focus between external displays (left and right)
cmd - h : yabai -m display --focus west
cmd - l : yabai -m display --focus east

# Rotate layout clockwise
shift + alt - r : yabai -m space --rotate 270

# Flip along y-axis
shift + alt - y : yabai -m space --mirror y-axis

# Flip along x-axis
shift + alt - x : yabai -m space --mirror x-axis

# Toggle window float
shift + alt - t : yabai -m window --toggle float --grid 4:4:1:1:2:2

# Maximize a window
shift + alt - m : yabai -m window --toggle zoom-fullscreen

# Toggle whether the focused window should be shown on all spaces
shift + alt - a : yabai -m window --toggle sticky

# Swap windows
shift + alt - j : yabai -m window --swap south
shift + alt - k : yabai -m window --swap north
shift + alt - h : yabai -m window --swap west
shift + alt - l : yabai -m window --swap east

# Move window and split
ctrl + alt - j : yabai -m window --warp south
ctrl + alt - k : yabai -m window --warp north
ctrl + alt - h : yabai -m window --warp west
ctrl + alt - l : yabai -m window --warp east

# Move window to display left and right
shift + alt - s : yabai -m window --display west; yabai -m display --focus west
shift + alt - g : yabai -m window --display east; yabai -m display --focus east

# Move window to previous and next space
shift + alt - p : yabai -m window --space prev
shift + alt - n : yabai -m window --space next

# Move window to space #
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

# Move window to different positions within the mosaic grid
shift + ctrl + alt - h : yabai -m window --warp west
shift + ctrl + alt - j : yabai -m window --warp south
shift + ctrl + alt - k : yabai -m window --warp north
shift + ctrl + alt - l : yabai -m window --warp east

# Focus or open Applications
alt - t : open -a /Applications/WezTerm.app
alt - f : open -a /Applications/Firefox.app
alt - n : open -a /Applications/Safari.app
alt - s : open -a /Applications/Slack.app
alt - v : open -a /Applications/VSCodium.app
alt - m : open -a /System/Applications/Mail.app
alt - w : open -a /Applications/Bitwarden.app

# Stop/start/restart yabai
ctrl + alt - q : yabai --stop-service
ctrl + alt - s : yabai --start-service
ctrl + alt - r : yabai --restart-service

