Yabai
No longer used
I no longer use
yabai+skhd. I moved to AeroSpace.The main reason: yabai’s requires dangerous permissions to be able to switch spaces. AeroSpace does it in lighter way, not using MacOS’s native spaces but mimics them, hiding and showing apps when navigating these virtual spaces.
This issue also mentions lack of future support “The future” issue (#2684, Oct 2025)
skhdis in the same boat: its README now declares the repo is “in maintenance mode Kept here for reference only.
yabai is a tool that replaces i3 on macos, (in combination with sdhk)
yabai config
# Remove disgusting borders around application
yabai -m config layout bsp
yabai -m config top_padding 0
yabai -m config bottom_padding 0
yabai -m config left_padding 0
yabai -m config right_padding 0
yabai -m config window_gap 0
# Assign apps to spaces
yabai -m rule --add app="iTerm2" space=1
yabai -m rule --add app="IntelliJ IDEA" space=1
yabai -m rule --add app="Firefox" space=2
yabai -m rule --add app="Chrome" space=3
yabai -m rule --add app="Discord" space=5
yabai -m rule --add app="Spotify" space=5
# disable Yabai form resizing applications
yabai -m rule --add app="^System Settings$" sticky=on layer=above manage=off
You can identify labels for an application you want to add some rules for using: yabai -m query --windows | jq -r '.[].app' | sort | uniq
sdhk config
sdhk is a tool that binds shortcuts to commands
# Toggle fullscreen for app
ctrl + lshift - f : yabai -m window --toggle zoom-fullscreen
# Move windows around
ctrl + shift - j : yabai -m window --warp south
ctrl + shift - k : yabai -m window --warp north
ctrl + shift - h : yabai -m window --warp west
ctrl + shift - l : yabai -m window --warp east
# Move windows around spaces
ctrl + shift - 1 : yabai -m window --space 1
ctrl + shift - 2 : yabai -m window --space 2
ctrl + shift - 3 : yabai -m window --space 3
ctrl + shift - 4 : yabai -m window --space 4
ctrl + shift - 5 : yabai -m window --space 5
ctrl + shift - 6 : yabai -m window --space 6
ctrl + shift - 7 : yabai -m window --space 7
ctrl + shift - 8 : yabai -m window --space 8
# Focus windows relative to current focused window
ctrl - j : yabai -m window --focus south
ctrl - k : yabai -m window --focus north
ctrl - h : yabai -m window --focus west
ctrl - l : yabai -m window --focus east