Yabai Tiling Manager

If you're trying to remove animations between Desktops (workspaces) in mac, keep reading.
Note: This guide is only for newer MacBooks (Apple Silicon macOS 13.x.x).

One of the best productivity boosts that I got was when I learned to rely on my keyboard more. It is a freedom untold to ditch the mouse. The underrated skill of maneuvering your machine with just your keyboard is beyond valuable to me. One of the best things you can do to rely more on your keyboard is to install a window tiling manager—like yabai.

In this guide, I will walk you through how I set up yabai for my machine.

1. Installation
brew install yabai
Installing packages with homebrew is probably the easiest.

2. Create config file
cd ~/.config/
mkdir yabai
cd yabai
touch yabairc
chmod +x yabairc

For a basic yabairc file, add this in the yabairc:
# ~/.config/yabai/yabairc

# Load scripting automatically
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"
sudo yabai --load-sa

# Remove animations
yabai -m config window_animation_duration 0.0
There is so much more than you can do. I highly recommend you look through their wiki.

3. Partially disable csrutil
A. Enter recovery mode.
Shut down your Mac. Press and hold the Power button until “Loading startup options” appears. Click Options → Continue.
Then in the top bar, click Utilities → Terminal

B. Disable fs, debugging, and nvram.
Enter this on your terminal:
csrutil enable --without fs --without debug --without nvram
Restart mac after this.

C. Enable non-Apple-signed arm64e binaries
Open a new terminal and run this:
sudo nvram boot-args=-arm64e_preview_abi
Then restart again.

D. Verify csrutil
You can verify that System Integrity Protection is turned off by opening a new terminal and running:
csrutil status
It should return something like this:
System Integrity Protection status: unknown (Custom Configuration).

Configuration:
	Apple Internal: disabled
	Kext Signing: enabled
	Filesystem Protections: disabled
	Debugging Restrictions: disabled
	DTrace Restrictions: enabled
	NVRAM Protections: disabled
	BaseSystem Verification: enabled
	Boot-arg Restrictions: disabled
	Kernel Integrity Protections: enabled
	Authenticated Root Requirement: enabled

This is an unsupported configuration, likely to break in the future and leave your machine in an unknown state.
Great! Now you're ready to enable yabai.

4. Start the yabai services
Run this in your terminal:
yabai --start-service
sudo yabai --load-sa
It'll ask you if yabai can control your control, follow the commands on the screen to enable this.
It should be under System Preferences → Security & Privacy → Accessibility → yabai

Great. Now use your shortcuts to switch between Desktops (workspaces) and you should have no sliding animations.

Back to blogs