Ribbon
How it worksPricingShortcutsGuidesFAQsChangelog
Download
Ribbon

A scrolling window manager for Mac. Windows sit on one strip: scroll instead of shrinking.

Support: support@meetribbon.app

PricingDownloadShortcutsGuidesChangelogLicensePrivacyTermsRefunds

Compare

Ribbon vs yabaiRibbon vs AeroSpaceRibbon vs AmethystRibbon vs ChainYourMacRibbon vs OmniWM

Guides

AeroSpace alternativesBest scrolling window managersHyprland for MacKeyboard shortcutsMultiple displaysNiri for MacPaperWM for MacPrivacyScrolling window managersStage Manager alternativesTrackpad gesturesTroubleshootingyabai with SIP onAll guides

© 2026 Ribbon · macOS 14+ · Apple silicon

Guides

Ribbon vs yabai: 9 Differences, SIP Included

yabai is free BSP tiling you script; 8 of its features need SIP partly off. Ribbon is a paid scrolling strip with a GUI. 9 differences, sourced.

yabai and Ribbon disagree about one thing: what should happen when a window opens. yabai splits the focused tile, so everything shrinks. Ribbon adds a column next to the focused one, so nothing shrinks. Decide which you want, and most of this page answers itself.

The rest is about scripting, SIP and money. yabai is free and the most scriptable window manager on macOS. We'd recommend it without hesitation to anyone who enjoys shell configuration. Ribbon is paid, configured from a settings window, and never asks you to touch SIP.

yabai facts were checked on 1 November 2026 against its README, its SIP wiki page and its releases. Note that the repository now lives at asmvik/yabai, and the old koekeishiya URL redirects there. Ribbon facts come from meetribbon.app. We make Ribbon.

yabai in 2026, briefly

  • Latest release: v7.1.25 (8 May 2026). MIT licence.
  • Supported macOS: on Intel, Big Sur 11 through Tahoe 26. On Apple silicon, Monterey 12 through Tahoe 26.
  • Control: a command-line interface. Keyboard shortcuts come from a separate tool such as skhd.
  • Required settings: Accessibility permission, plus "Displays have separate Spaces" turned on. The README also recommends turning off "Automatically rearrange Spaces based on most recent use".
  • Known caveat: apps that use native macOS tabs (Terminal, Finder) "do not behave correctly when creating tabs", according to the README.

What SIP actually changes in yabai

You don't need to disable SIP to tile with yabai. You need it only for the extras that inject a scripting addition into Dock.app. The yabai wiki lists exactly these:

Needs SIP partly disabledWorks with SIP on
Move, swap, create and destroy SpacesBSP, stack and float layouts
Remove window shadowsFocus, swap, warp and resize windows
Window transparencyRules and signals
Window animationsMulti-display tiling
Scratchpad windowsMoving windows with the CLI
Window layers (topmost or on desktop)
Sticky windows across Spaces
Picture-in-picture for any window

Disabling SIP partly means booting into recovery and running csrutil with flags. On Apple silicon with macOS 13 or later, that's csrutil enable --without fs --without debug --without nvram, per the wiki. On a company Mac managed by IT, that's usually off the table. Ribbon never needs SIP changed, so the question never comes up (yabai on Mac, SIP in detail).

The 9 differences

#DifferenceyabaiRibbon
1Layout when a window opensSplits the focused tile (BSP). Everything gets smallerOpens a new column beside the focused one. Others keep their width
2Layout optionsbsp, stack, float per SpaceScrolling strip, stacks, tabbed columns, plus eight one-click layout pictures in the menu bar (2 across, 3 in a row, 4/5/6 grids and more)
3Configurationyabairc shell script plus skhdrcSettings window, backed by ~/.config/ribbon/ribbon.toml for anyone who wants it in dotfiles
4Keyboard shortcutsNot built in; use skhd or similarBuilt in. ⌃⌥ chords by default, with Arrows, Vim, Option and Command-Option styles
5TrackpadNo built-in gesturesThree-finger swipe slides the strip, and so does Option + two-finger scroll (gestures guide)
6SIPOptional, but eight features need it partly offNever touched. It uses a few private window-server calls, but no Dock injection
7Scripting depthFull CLI with queries, signals and rules; a whole ecosystem of dotfilesribbon:// URL scheme and ribbonctl for focus, move, width, float, jump and display. Much smaller, and no queries
8PriceFreeOne-time licence from $12 (1 Mac, founding price) (pricing)
9macOS range11 or 12 through 26, on Intel and Apple siliconmacOS 14 Sonoma or later, Apple silicon only

What they share: both need Accessibility, both need "Displays have separate Spaces" turned on, and both work with native macOS Spaces rather than replacing them.

The day-to-day feel

With yabai, open a terminal, then a browser, then docs, and each new window halves a tile. On a 14-inch MacBook, the fourth window is usually too narrow to read without zooming in on that tile. Power users get around this with rules, floating exceptions and per-Space layouts. It works, and it's a hobby in itself.

With Ribbon, the same four windows sit at widths you chose: the editor at two-thirds, the browser at half, docs and terminal each at a third. Only some of them are on screen at once, and ⌃⌥→ or a three-finger swipe brings the next one into view. Your windows never shrink. The trade-off is that they aren't all visible at once. The scrolling model explained.

If you used yabai for this, here is the Ribbon equivalent

yabai habitIn RibbonGap to know about
window --focus west/east⌃⌥← / ⌃⌥→, or ribbonctl focus westNone
window --swap⌃⌥⇧+arrowNone
window --toggle float⌃⌥SpacePer-app float rules work differently: apps that refuse a resize twice are listed under Apps as "cannot be managed" and float
--layout stack⌃⌥S stacks a window into the column on its left; ⌃⌥T turns a column into tabsA stack lives inside one column, not across the whole Space
window --display next⌃⌥NNone
space --create / --destroy (SIP off)Use macOS Mission ControlRibbon doesn't create or destroy Spaces
Sticky or topmost windows (SIP off)Not availableIf you depend on these, stay on yabai
Signals that run scripts on window eventsNot availableRibbon's CLI is for sending commands, not for subscribing to events
yabai -m query JSONNot availableribbonctl only sends commands. If your scripts read window state, stay on yabai

Who should pick which

Choose yabai if:

  • You enjoy shell configuration and want to script window behaviour (signals, queries, custom layouts).
  • You control the Mac's security policy and want Space creation, sticky windows or no shadows.
  • You need Intel or macOS 11–13 support.
  • Free matters more than setup time.

Choose Ribbon if:

  • Your Mac is managed by an employer and disabling SIP isn't allowed.
  • You want shortcuts and gestures that work out of the box, without skhd.
  • Your windows become unreadably narrow under BSP.
  • You'd pay once to stop maintaining dotfiles.

Moving from yabai to Ribbon

  1. Stop yabai and skhd (yabai --stop-service, skhd --stop-service) and remove them from login items.
  2. If you disabled SIP only for yabai, you can turn it back on from recovery with csrutil enable. Ribbon doesn't need it off.
  3. Install Ribbon (setup), grant Accessibility, and pick the Vim style if your skhd config used HJKL.
  4. Rough translation: yabai -m window --focus west becomes ⌃⌥← (or ribbonctl focus west). --swap becomes ⌃⌥⇧ plus an arrow. --toggle float becomes ⌃⌥Space. Stack layout becomes a Ribbon stack (⌃⌥S).
  5. Keep the hotkey tool you like. ribbonctl (inside Ribbon.app/Contents/MacOS) can be called from skhd or Raycast.

Bottom line

yabai is a toolkit and Ribbon is a finished layout. If you want to build your own window manager out of shell scripts, yabai is still the best base on macOS. If you want ordered, full-size windows on a Mac where SIP stays on, try the Ribbon shortcuts in your browser, then download Ribbon.

Related guides

  • yabai on Mac: What Works With SIP On, vs AeroSpace
  • AeroSpace on Mac: Setup, vs yabai, vs Ribbon
  • Amethyst for Mac: 14 Layouts, Shortcuts, vs Ribbon

FAQs

Short answers for this guide. Setup and license links if you need the next step.

Can’t find what you’re looking for? See the Mac Setup page or write from the app’s About screen.

No, not for tiling. Only eight features need SIP partly disabled: Space management, shadows, transparency, animations, scratchpads, window layers, sticky windows and picture-in-picture (yabai wiki, checked 1 Nov 2026).

Does yabai need SIP disabled?
No, not for tiling. Only eight features need SIP partly disabled: Space management, shadows, transparency, animations, scratchpads, window layers, sticky windows and picture-in-picture (yabai wiki, checked 1 Nov 2026).
Does Ribbon need SIP disabled?
No. Ribbon asks for Accessibility, installs no kernel extension, and never asks you to change SIP.
Can Ribbon do BSP tiling like yabai?
No. Ribbon is a scrolling window manager. Its menu-bar layout pictures (for example a 4-window grid, ⌘⌃4) give you grid-like arrangements on demand, but it doesn't keep splitting tiles as windows open.
Do I need skhd with Ribbon?
No. Shortcuts are built in and can be rebound in Settings.
Can I script Ribbon like yabai?
Partly. Ribbon has a `ribbon://` URL scheme and a `ribbonctl` command for focus, move, width, float, jump and display. It doesn't have yabai's query and signal system.
Where is yabai's GitHub now?
At github.com/asmvik/yabai. Links to the old koekeishiya/yabai path redirect there.
Which works better on a small MacBook screen?
Usually Ribbon, because windows keep a readable width instead of being halved repeatedly. If you only ever use two windows side by side, yabai is fine too.

Can’t find what you’re looking for? See the Mac Setup page.

All guides