# Ribbon vs yabai: shell-scripted BSP or a scrolling strip with a GUI

Source: https://ribbonformac.com/ribbon-vs-yabai  
Updated: 2026-10-22

**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](https://github.com/asmvik/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 <kbd>⌃⌥←</kbd> and <kbd>⌃⌥→</kbd> (or H and L), and the strip slides to show the window. If the idea is new, read [what a scrolling window manager is](https://ribbonformac.com/what-is-a-scrolling-window-manager) 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 with `yabai -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 -m` commands.
- **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`, then `yabai --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](https://ribbonformac.com/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](https://ribbonformac.com/macbook-window-manager).
- **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](https://ribbonformac.com/setup) covers the trackpad settings.

Watch the [live demo](https://ribbonformac.com/#demo) to see whether scrolling suits you, or browse other options in [AeroSpace alternatives](https://ribbonformac.com/aerospace-alternatives), which covers yabai alongside the rest. Ribbon is [$9.99 once](https://ribbonformac.com/#pricing). All sales are final: no refunds (see the [terms](https://ribbonformac.com/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](https://ribbonformac.com/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.

## Keep reading
- [yabai without SIP](https://ribbonformac.com/yabai-without-sip) — What yabai does with SIP on, which extras need it off, and what that costs you.
- [Ribbon vs AeroSpace](https://ribbonformac.com/ribbon-vs-aerospace) — Free i3-style tree with its own workspaces vs a paid strip that keeps macOS Spaces.
- [AeroSpace alternatives](https://ribbonformac.com/aerospace-alternatives) — yabai, Amethyst, Rectangle, Loop, OmniWM, Ribbon, PaperWM.spoon and macOS tiling.
- [Tile windows on Mac](https://ribbonformac.com/how-to-tile-windows-on-mac) — Drag, green button, Window menu and every Fn-Control shortcut, plus how to turn it off.
- [Scrolling WMs explained](https://ribbonformac.com/what-is-a-scrolling-window-manager) — The strip, the columns, the moves, and every scrolling WM by operating system.
