The idea in one picture
Imagine your windows laid out like pages on a long table. Your screen is a frame you slide along that table. The page you're working on sits in the frame; the others wait to the left and right, at the width you gave them.
When you open a new window, it slides in next to the one you're using and the strip simply gets longer. Nothing is shrunk to make room, and nothing hides behind anything else.
Scrolling vs tiling vs floating vs snapping
There are four common ways to arrange windows on a computer. The difference shows up the moment you open one more window than fits.
| Approach | How windows are placed | When you open another window | Examples |
|---|---|---|---|
| Floating | Wherever you drag them, overlapping | It lands on top of the others | macOS and Windows by default |
| Snapping | You send a window to a half, third or quarter | It overlaps until you snap it too | Rectangle, Magnet, macOS tiling |
| Tree or grid tiling | The screen is split into tiles automatically | Existing tiles shrink to make room | i3, sway, AeroSpace, yabai, Amethyst |
| Scrolling | Each window is a column on a strip wider than the screen | It opens beside the focused column; nothing shrinks | niri, PaperWM, LanesMac |
Why people switch to scrolling
- Windows keep a useful width. A code editor stays wide enough for real code even with ten other windows open.
- Nothing overlaps, so you never dig for a window hidden behind another one.
- Moving around is spatial: the terminal is always just to the right of the editor, the docs just to the right of that.
- It scales with how much you have open. Two windows or twenty, each one still gets a proper column.
- It suits laptops and ultrawide screens alike: on a small screen you see one or two columns, on a wide one four or five.
Where the idea comes from
The scrolling layout was popularised on Linux. PaperWM is an extension for the GNOME desktop that arranges windows on a horizontal strip, and niri is a Wayland compositor built around the same model, with columns, preset widths and touchpad gestures that follow your fingers.
Both are Linux-only. They depend on the Linux graphics stack, so neither can run on macOS.
Scrolling window managers on a Mac
On macOS, a window manager works through the Accessibility permission: it asks each app to move and resize its windows. LanesMac is a native Mac app built on that model. Every window becomes a column on a strip per display, new windows open beside the one you're using, and you move with ⌃⌥ arrow keys or by holding ⌃⌥ and swiping sideways with two fingers.
There are also scripted options, such as a PaperWM port for Hammerspoon that you configure in Lua. They suit people who enjoy maintaining their own setup; a native app suits people who want a settings window and everything built in.
What a typical day looks like
- ⌃⌥← and ⌃⌥→ move focus along the strip; it scrolls just far enough to show the window.
- ⌃⌥⇧← and ⌃⌥⇧→ carry the focused window to a new spot.
- ⌃⌥R cycles a column through preset widths such as a third, a half or two thirds.
- ⌃⌥S puts two windows in one column, one above the other, like a terminal above its logs.
- ⌃⌥Space finds any window by name, and ⌃⌥1 to 9 jump straight to a column.
