Your Mac,
on a strip.

Every window in its place, side by side on an endless strip. One swipe from the next.

☝︎ Psst… it’s interactive! Click, drag, or use ← →
Endless strip

Windows sit in columns, side by side. Change focus and the strip glides with a smooth spring until the window you want is in view.

Four-finger swipes

Slide four fingers across the trackpad to move along the strip. A short flick is enough to jump to the next column.

Stacks & tabs

Put two windows in one column, or fold a column into tabs when you want a single window on top.

Pin to an edge

Fix a window to the left or right edge. The rest of the strip scrolls past without covering it.

Spot on the active window

A soft light around the active window, darker the further you go. Off until you turn it on.

Point to focus

Rest the pointer on a window and it takes focus, with no click. Optional, and off until you switch it on.

Rules for each app

Let an app float freely, or pin it to an edge. Ruban remembers the rule every time that app opens.

Every display, its own strip

Each display and each Space keeps its own strip. Send a window to the next screen with a single shortcut.

Native Swift app

Written in Swift with AppKit. No Electron, no web view.

Light on the CPU

Under 1% of the CPU at rest, with no background polling. About 50 MB of memory, measured on a real Mac.

Private by default

No account, no analytics. Ruban only goes online to check your licence.

Yours to shape

Reassign every shortcut and gesture to suit the way you work.

Free for 3 days, no account · macOS 14 or later
Also from SANDBOX: SightLook away. Your Mac blurs.

Your hands decide.

Focus left or right⌃⌥←→
Focus up or down in a stack⌃⌥↑↓
Move the column⌃⌥⇧←→
Next width⌃⌥R
Full width⌃⌥F
Center the column⌃⌥C
Stack into the left column⌃⌥,
Tabs on or off⌃⌥T
Pin left⌃⌥P
Pin right⌃⌥⇧P
Spot on the active window⌃⌥S
Send to the next display⌃⌥N

Good to know.

What does Ruban need to run?
A Mac running macOS 14 Sonoma or later, and the Accessibility permission. Ruban asks for it on first launch: it is how any window manager moves and resizes windows.
macOS says the developer cannot be verified.
  1. Open the downloaded app once, then dismiss the warning.
  2. Go to System Settings → Privacy & Security.
  3. Scroll to the message about Ruban and click Open Anyway.
  4. Confirm, then allow Accessibility when asked.

You only do this once.

Will it clash with macOS trackpad gestures?
Four-finger swipes are also used by macOS for Mission Control and full-screen apps. In System Settings → Trackpad → More Gestures, set those to three fingers, or turn them off. Ruban can also hold back the system gesture while you scroll the strip, and its menu tells you when a conflict remains.
Does it work with several displays and Spaces?
Yes. Each display and each Space has its own strip. For this, keep “Displays have separate Spaces” turned on in the Mission Control settings.
How does the free trial work?
Download the app from this page: no account and no card needed. You get every feature for 3 days from the first launch. After that Ruban pauses until you enter a licence key, and your settings are kept.
Does Ruban collect any data?
No. There is no account and no analytics in the app. Ruban reads your window list on your Mac to arrange it, and it only goes online to check your licence key, sending the key and a random identifier for your Mac, nothing else.
Can I keep some apps out of the strip?
Yes. In Settings → Applications, set an app to floating, or pin it to the left or right edge.
What if a window ends up off-screen?
Choose “Recover off-screen windows” in Ruban Settings → General → System. Quitting Ruban also brings every window back.