ChainYourMac is a native scrolling window manager for macOS. Rather than squeezing every window into a fixed grid, it places each window as a column on a horizontal strip that runs past the edges of your display. You move around that strip with three- or four-finger trackpad swipes or with keyboard shortcuts, and every window keeps the width you gave it. It is built for Mac users who want the automatic layout management of a tiling window manager without their workspace reflowing every time another app opens. It ships as a real Mac app — SwiftUI on top, a Rust window engine underneath — and requires macOS 13 Ventura or later on Apple silicon.
Grid tiling managers such as yabai, Amethyst and AeroSpace divide the screen again every time an app opens, so everything keeps getting smaller. With three windows open each one takes roughly a third of the screen, and the next launch narrows them all once more. Window snappers such as Rectangle and Magnet sit at the opposite end: you invoke them window by window, and they do not maintain a layout at all. ChainYourMac maintains a layout without the grid. The strip gets longer instead of the windows getting thinner: with three windows open, a grid gives each one about a third of the screen while the strip still gives each one half. New windows open beside the one you are using, nothing overlaps, and nothing gets lost behind another window, because every window has its own place on the strip.
The strip follows your focus. Move focus from the keyboard or swipe the trackpad and the strip scrolls just far enough to bring the window into view, on a spring animation that starts the moment you press the key. The animation is a vsync-locked spring, so movement around the strip feels immediate. Layout is persistent as well: column order, widths and stacks come back after a restart, and every display and every Space keeps a strip of its own, so work and chat never get shuffled together. Session restore and launch at login are part of version 2.0, which means the app can start with your Mac and begin tiling automatically.
Stacks let you put several windows in one column. You can pull a window into the column on its left or right, push it back out, reorder windows inside the stack, and make any window taller or shorter; heights can also be equalized with a single shortcut. When each window in a stack deserves the full height, one shortcut flips the column into a tabbed column and back again. Widths are handled with presets: cycle a window through the widths you choose, such as 25, 33, 50, 66 and 75 percent, or nudge it wider and narrower. Full width and centre are one key each. Gaps between windows and at the screen edges are configurable down to zero, and windows size themselves around the Dock so nothing ends up underneath it.
Version 2.0 adds a strip minimap that appears while you navigate, shows where you are, and fades out again. An optional focus border can sit around the focused window and everything else can be dimmed; both features are off until you enable them. Centre modes let you keep the focused column centred never, only when the strip overflows, or always. You can drag a window onto another column and the strip rearranges around it. Per-app window rules let you float apps that should not tile or give an app a fixed slot on the strip, and native macOS fullscreen is left alone — put a window into fullscreen and ChainYourMac stays out of its way. Every shortcut is rebindable, one action can carry several bindings, and the recorder understands non-US layouts including AZERTY, QWERTZ and Dvorak. Settings apply instantly: change a gap, a width or a key and you see it on screen straight away, with no Save button and no restart.
Multi-monitor support is built around one strip per display. Every display has its own independent strip with its own focus and scroll position, windows never spill onto the screen next door, and one shortcut sends the focused window to the next display. macOS Spaces work the same way, with each Space keeping a separate strip layout. The trackpad swipe is the signature interaction: swipe with three or four fingers and the strip moves with them one to one, then settles on the nearest column.
Under the hood, ChainYourMac is a real Mac app rather than a script collection. The window engine is written in Rust and runs as a small background process that sits idle until a window changes or you press a shortcut; shortcuts are handled by the engine directly, so moving around the strip feels immediate. The interface is native SwiftUI: a menu bar item and a settings window where every option has a control. There is no Electron, no web view and no config file to learn. The app needs one permission, Accessibility, because that is how macOS lets any window manager move and resize other apps' windows; Rectangle, Magnet and others require the same one. Everything happens locally on your Mac — the app does not read your screen contents or send data anywhere, and there is no account and no telemetry in the app. A self-healing engine restarts the engine process if it ever stops and keeps an engine log showing what happened, while new versions arrive through Sparkle, the standard Mac updater.
The outcome is a workspace that stays calm as you work. Because each window holds its width, opening another app never triggers a reflow, and you never have to hunt for a window that has been pushed behind another one. Navigation becomes a single gesture or keystroke in the direction you want to go, and because the position of every window is predictable, you build muscle memory for where things live. Column order, widths and stacks survive restarts, and displays and Spaces keep their own strips, so restarting your Mac does not mean rebuilding your workspace.
Concrete workflows include a development session with a code editor, a terminal, a log window and documentation all open at once: stack the terminal and logs into one column, tab them, and keep the editor at full or half width without ever resizing the rest. Multi-monitor desks benefit from one strip per display, with a keystroke to throw a window to the other screen. People who liked PaperWM on GNOME or niri on Wayland get the same scrolling model with Mac manners, and anyone with an app that should not tile — a floating palette or a small utility window — can float it. Automating the strip is possible too: a chainyourmac:// URL scheme, Raycast script commands and a command-line tool let other tools drive the window manager.
Requirements and pricing round out the picture. ChainYourMac needs macOS 13 Ventura or later and runs on Apple silicon (M1 or newer); Intel Macs are not supported. It is notarized by Apple and signed with a Developer ID, with no kernel extensions, no system modifications and no need to disable SIP. It is a one-time purchase rather than a subscription: the standard 1-Mac lifetime license is $19.99, with the first 20 launch licenses at half price, $9.99. Multi-Mac licenses are also available — 3 Macs for $24.99 launch price ($49.99 regular), 5 Macs for $39.99 ($79.99) and 20 Macs for $149.99 ($299.99) for teams — each giving one key with the corresponding number of activations, free updates forever, and the ability to move an activation to a different Mac after deactivating it. Checkout is handled by Gumroad, and the download and license key arrive by email.
ChainYourMac takes the scrolling window model that Linux users know from PaperWM and niri and delivers it as a polished native Mac app: windows on an endless strip, trackpad swipes that follow your fingers, stacks and tabbed columns, per-app rules, multi-monitor strips and a SwiftUI interface over a Rust engine. It keeps the automation of tiling without the grid, so new windows never shrink the ones you are already using.