DEV Community

Cover image for I made a Mac window manager where nothing ever shrinks
Chethan Kumar
Chethan Kumar

Posted on

I made a Mac window manager where nothing ever shrinks

Every window manager on the Mac gives you one of two deals.

Snapping apps like Rectangle and Magnet give you halves and thirds. You drag a window to an edge, it snaps in, and the moment you open one more app you start playing musical chairs with your screen. Everything is visible, everything is cramped.

Tilers like yabai and AeroSpace give you a grid. Open a window and every other window shrinks to make room. You never think about layout, but your terminal is now 240 pixels wide because you opened Slack.

Both assume the screen is the constraint. I wanted to try the opposite: what if the screen is just your current position on a strip that keeps going?

That's Ribbon. Every window gets a full-height column, the columns sit side by side on a strip that runs past both edges of the screen, and you glide along it with three fingers on the trackpad. It's one-to-one with your fingers, no easing, no paging. Opening a window doesn't resize anything, it just slides in next to the one you're in and the strip moves along.

If you've used PaperWM on GNOME or niri, you already know this interaction. Those two projects proved it works. Neither runs on a Mac, so I built the Mac version. Native app, no config files, everything in a settings window.

The part I didn't expect to love is the map. Once you have 15 windows on a strip, where am I becomes the real question. So a small map floats up while the strip moves and shows your position. It comes in six styles because I got carried away: frosted glass, stage lighting, bubbles rising through liquid, wet paint, a strip of 35mm film under a projector beam, and polaroids pegged to a string.

A few of the mechanics. Ctrl Opt R cycles a window between a third, half and two thirds of the strip. F fills the screen, F again puts it back. Ctrl Opt with an arrow glides, Shift with the arrow carries the window along.

It's a real app, not a hack. macOS 14 Sonoma or later, Apple silicon, about 3 MB. Free trial for 7 days, $15 once, licence covers three Macs, refunds for a week.

There's an interactive demo on the site built with the app's own sizes and springs. You can drive it with arrow keys, R and F, or two-finger swipes. If tiling always felt wrong because things shrink, the demo will tell you in ten seconds whether this clicks instead:

https://www.ribbonmac.com/?utm_source=devto&utm_campaign=ribbon-1m

Happy to answer anything about the implementation. Short version of how: AppKit for the windows, SwiftUI for the chrome, and a lot of time making the glide feel native rather than like a web animation.

Top comments (0)