Ribbon vs yabai: shell-scripted BSP or a scrolling strip with a GUI
yabai is a free tiling window manager that splits the screen into a binary tree, configured with a shell script and paired with skhd for hotkeys. Ribbon is a $9.99 app that puts windows on a scrolling strip and keeps every option in a settings window. Pick yabai if you want a grid and enjoy scripting; pick Ribbon if you want windows that keep their size and no config files.
How each one arranges windows
yabai uses binary space partitioning. The first window fills the screen. The second splits it in half. The third splits one of those halves, and so on, so every window always has a slot on screen. Each Space can use the bsp layout, a stack layout where windows sit on top of each other, or float to leave windows alone.
Ribbon uses a scrolling strip. Each window is a column at a width you choose, and the strip continues past the right edge of the display. Opening a new window adds a column instead of cutting an existing one in half. You move focus with ⌃⌥← and ⌃⌥→ (or H and L), and the strip slides to show the window. If the idea is new, read what a scrolling window manager is first.
The practical difference: with BSP, your fifth window on a laptop screen is small. With a strip, your fifth window is the same size as the first, and you scroll to it.
yabai in brief
yabai describes itself as an extension to the built-in macOS window manager, and it means that. It works with native Spaces, needs "Displays have separate Spaces" turned on, and asks you to turn off automatic Space rearranging.
- Configuration is a shell script. yabai runs
~/.config/yabai/yabairc(or one of two other paths) at launch, and you can change any setting live withyabai -m config. There is no GUI. - Hotkeys come from another tool. yabai doesn't bind keys itself; most people install skhd and write a second config file mapping keys to
yabai -mcommands. - Mouse, not gestures. You can hold a modifier and drag to move or resize windows. No trackpad gestures are documented.
- Free and MIT-licensed. Install with
brew install asmvik/formulae/yabai, thenyabai --start-service. - Wide macOS support. Big Sur and later on Intel, Monterey and later on Apple silicon, through macOS 26 Tahoe.
What SIP actually changes
This is where many people get confused. yabai's tiling works with System Integrity Protection fully on: layouts, focus, moving windows, resizing and mouse actions are all available.
Partially disabling SIP lets yabai load a scripting addition into the Dock, and that unlocks a specific list of extras: creating, destroying, moving and swapping Spaces, window transparency, removing shadows, animations, scratchpads, window layers, sticky windows and picture-in-picture for any window. It also means boot-level changes, and on every yabai upgrade you update a hash in a sudoers file. The full list, the commands and the trade-offs are in yabai without SIP.
Ribbon doesn't have most of those extras, and it never asks you to touch SIP. Its optional focus border and dimming of inactive windows work with only the Accessibility permission.
Side by side
| Ribbon | yabai | |
|---|---|---|
| Price | $9.99 once (1 Mac) | Free |
| Source | Closed (engine built on MIT Paneru) | Open source, MIT |
| Layout | Scrolling strip of columns, with stacks and tabs | BSP, stack or float per Space |
| Opening a window | Adds a column, others keep their size | Splits an existing slot in half |
| Configuration | Settings window | Shell script plus yabai -m commands |
| Hotkeys | Built in, rebindable in the app | Needs a separate tool such as skhd |
| Spaces | Native, one strip per Space and display | Native, deep integration |
| Trackpad | 3- or 4-finger swipe that follows your fingers | Modifier + mouse drag only |
| SIP | Never touched | Optional; needed for Space management and visual extras |
| macOS | 13 Ventura and later, Apple silicon (M1 or later) only | 11+ on Intel, 12+ on Apple silicon |
| Scripting | ribbon:// URLs and a CLI | Full CLI, signals, rules |
Where yabai is the better choice
- You want a grid. If you like every window visible at once in a tidy split layout, BSP is the right model and Ribbon doesn't do it.
- You live in dotfiles. yabai is configured entirely in text you can version, share and script. Its signal system lets you run commands on window and Space events.
- You want Space control. With SIP partly disabled, yabai can create, destroy and reorder Spaces from a script, which nothing else here does.
- You're on an older or Intel Mac. yabai supports Big Sur and Monterey and runs on Intel; Ribbon needs Ventura and Apple silicon.
- It's free. That counts.
Where Ribbon is the better choice
- You don't want two config files and a daemon. Ribbon installs from a DMG, asks for Accessibility, and works. Every setting, including window rules and shortcut chords, has a control in the app.
- You open lots of windows. A strip keeps each window at a usable width, which matters on a MacBook screen.
- You use a trackpad. Swiping the strip with three or four fingers is built in and tracks your fingers.
- You want to leave SIP alone and still get a polished feel, with spring animations and an optional focus border.
- You want someone to email. Ribbon is a paid product, and the developer answers support mail directly.
Moving from yabai to Ribbon
Stop yabai's service and skhd before starting Ribbon, so the two don't move the same windows. If you disabled SIP only for yabai, you can turn it back on; Ribbon doesn't need it. Your yabai settings for Spaces ("Displays have separate Spaces" on, auto-rearrange off) are the same ones Ribbon's Mac Setup page checks for, so most of the work is already done. The setup guide covers the trackpad settings.
Watch the live demo to see whether scrolling suits you, or browse other options in AeroSpace alternatives, which covers yabai alongside the rest. Ribbon is $9.99 once. All sales are final: no refunds (see the terms), so the demo is the place to try it first.
FAQ
Does yabai need SIP disabled?
No. Tiling, focus and window movement work with SIP on. Only extras like Space creation, transparency, shadows, animations and sticky windows need it partly disabled. See yabai without SIP.
Does Ribbon need SIP disabled?
No. Ribbon uses only the Accessibility permission and works with SIP fully on.
Can Ribbon do BSP tiling like yabai?
No. Ribbon only does the scrolling strip, with stacks and tabbed columns inside it. If you want a BSP grid, yabai or AeroSpace is the better fit.
Do I need skhd with Ribbon?
No. Ribbon has its own shortcuts, all on Control + Option by default, and you can rebind every one in the settings window.
Can I script Ribbon like yabai?
Partly. Ribbon has a ribbon:// URL scheme and a command-line tool for triggering actions, but no config language or event signals like yabai.