# Ribbon: the scrolling window manager for Mac

> Ribbon is a scrolling window manager for macOS. Every window gets its own full-height column on one long strip that runs past the edges of the screen; opening a window adds a column and never shrinks the others. Move along the strip with a three-finger swipe or ⌃⌥ ← →. 7-day free trial, then $15 once.

Website: https://www.ribbonmac.com/

## At a glance

- **What it is:** A scrolling window manager for macOS: windows sit side by side on a strip that runs past the edges of the screen
- **Price:** $15 once, no subscription
- **Free trial:** 7 days, every feature included
- **Requirements:** macOS 14 Sonoma or later, Apple silicon
- **Download:** Signed with an Apple Developer ID, about 3 MB
- **Latest version:** 1.0
- **Inspired by:** PaperWM and niri
- **Made by:** Chethan Kumar S N, an independent developer

## Features

- A scrolling strip of full-height columns: opening a window adds a column and never resizes the others
- Three- or four-finger trackpad swipes that follow the fingers one to one, with flicks and rubber-banding at the ends
- Keyboard control: ⌃⌥ ← → to move focus, ⇧ to carry a window, ⌃⌥ 1–9 to jump, ⌃⌥R for ⅓ ½ ⅔ widths, ⌃⌥F for full width, ⌃⌥C to centre; every shortcut can be changed
- A strip map that floats up while you move, in six styles: Aurora Glass, Stage Light, Test Tube, Paint Stroke, Film Strip, Polaroids
- Every display has its own strip; switch Ribbon off for any display
- Drag an edge to resize, or a title bar to move a window along the strip or to another display
- Per-app rules: always float, or a fixed place on the strip
- Floating windows, dialogs and fixed-size windows stay floating, and ⌃⌥` brings forward any that end up behind the strip
- Focus border and optional dimming of the other windows
- Restores windows when it quits, restores the strip when it starts, and keeps working after sleep
- Automation: ribbon:// URLs, a ribbon command-line tool and Raycast scripts
- Optional focus follows mouse and mouse follows focus

## Privacy

Ribbon runs on the Mac with no account, analytics or telemetry. Through the Accessibility API it reads where windows are, their sizes and their titles, and moves them; it never reads what's inside a window. It goes online only to check for updates and, once licensing ships, to activate a licence. Full policy: https://www.ribbonmac.com/privacy

## Pricing

$15 once, no subscription. 7-day free trial first. Sold by Polar as merchant of record. Refunds: https://www.ribbonmac.com/refunds

## FAQ

### What is Ribbon?

Ribbon is a scrolling window manager for macOS. Instead of overlapping, or splitting the screen into smaller and smaller tiles, every window gets its own full-height column on one long strip that runs past the edges of the screen. You move along it with a three-finger swipe or ⌃⌥ ← →, and the screen scrolls to the window you want.

### How is that different from Rectangle, Magnet or Stage Manager?

Snapping apps like Rectangle and Magnet place windows in halves and thirds of one screen, and Stage Manager hides most of them in a pile. Ribbon never shares the screen out: opening a window adds a column to the strip, and nothing else changes size. It's the idea behind PaperWM and niri on Linux, built natively for the Mac.

### Is Ribbon PaperWM or niri for Mac?

It's the same idea, built natively for macOS. PaperWM (for GNOME) and niri (a Wayland compositor) can't run on a Mac, so Ribbon recreates their scrolling layout as a Mac app, with trackpad swipes and a settings window instead of config files. More in PaperWM for Mac and niri for Mac.

### How is it different from AeroSpace, yabai or Amethyst?

Those are tiling window managers: they split the screen between your windows, so each one gets smaller as you open more. Ribbon gives every window its own full-height column and lets the strip run past the screen's edges, so nothing shrinks. It also needs no config file and no changes to System Integrity Protection. See Ribbon vs AeroSpace and Ribbon vs yabai.

### What do I need to run it?

macOS 14 Sonoma or later, on a Mac with Apple silicon. A trackpad is optional: everything also works from the keyboard.

### Why does it ask for Accessibility access?

macOS only lets an app move and resize other apps' windows through the Accessibility API, so Ribbon asks for it once, in System Settings → Privacy & Security → Accessibility. It uses it to read where windows are, how big they are and what they're called, and to move them. It never reads what's inside a window, and nothing leaves your Mac.

### Will it slow my Mac down?

No. Ribbon moves windows from one queue per app, only touches the two or three windows that are actually on screen while the strip scrolls, and sleeps whenever nothing is moving. Its own benchmark scrolls the strip back and forth and measures every frame: 95% of frames need about a millisecond of work or less.

### Does it get along with macOS's own features?

Mostly, with a little setup that Ribbon walks you through. It warns if a three-finger swipe is also switching full-screen apps, or if macOS's own edge tiling is on, and shows where to turn them off. Full-screen, minimized and hidden (⌘H) windows keep their place on the strip. In Mission Control, turning on "Group windows by application" keeps the overview tidy.

### What about windows that shouldn't be on the strip?

Dialogs, fixed-size windows like Calculator, and windows that stay on top (picture in picture, a meeting's compact view) are left floating. You can float any window with ⌃⌥T, set an app to always float, or give it a fixed place on the strip. If a floating window ends up hidden behind the strip, ⌃⌥` brings it forward.

### Does it work with more than one display?

Yes. Every display has its own strip, its own focus and its own scroll. Swiping or ⌃⌥ → past the end carries on to the next display, ⌃⌥N sends a window there, and you can switch Ribbon off for any display.

### What happens to my windows if I quit Ribbon?

They go back where they were before Ribbon arranged them. When Ribbon starts again, it puts the strip back in the order and widths you left it.

### How much is it?

$15, once. No subscription. Try it free for 7 days first, with every feature and no account or card.

### Why isn't it on the Mac App Store?

A window manager needs the Accessibility API to move other apps' windows, and the App Store's sandbox doesn't allow that. Ribbon is signed with an Apple Developer ID, so it opens like any other app.

## Links

- Download: https://github.com/chethankumar/ribbon-releases/releases/latest/download/Ribbon.dmg
- Buy: https://buy.polar.sh/polar_cl_a8WWC9C40rwPHbSX5LSl8lk3UOl6sNqw60SiF3Ab1sU
- Releases: https://github.com/chethankumar/ribbon-releases/releases
- Support: chethan.2106@gmail.com
