bbodi / tinywm
git clone https://github.com/bbodi/tinywm.git
v0.1.0 · 4d ago
A scrolling window manager for macOS, inspired by niri
—
stars, 24h
+29
stars, 7 days · #1,362
+29
stars, 30 days · #9,085
29
★ total · +29% this week
3
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageSwift
LicenseGPL-3.0
Created2026-10-14 (6d ago)
Last push3d ago
Watchers0
OwnerUser
GitHub topics
Links
- GitHub: github.com/bbodi/tinywm
- Releases · Issues · Hacker News mentions
README excerpt
tinywm Your windows, on an endless strip. A scrolling window manager for macOS. No more resizing, overlapping or hunting for windows. Download the latest release --- Every new window opens **next to the one you're using**, on the display you're using, and nothing else changes size. The strip simply runs past the edge of your screen. Scroll it with one key or a swipe, and **every window is exactly where you left it**. tinywm is inspired by niri, the scrolling window manager for Linux, and brings its way of working to macOS. ▶ Watch the demo with sound ## Why you'll like it - **Nothing jumps around.** Opening a window never squeezes the others. Your layout stays put. - **Silky motion.** Windows glide into place with a spring, smooth even on 120 Hz screens. - **One key does it all.** Hold **right ⌘** and use H J K L or the arrows. Your normal ⌘ shortcuts keep working. - **Workspaces that stack.** Keep projects apart, one strip each. Flick up or down to switch. - **See everything at once.** Press **right ⌘ + Esc** for an overview of every window, then pick one. - **Swipe with your fingers.** Drag the strip with three fingers on the trackpad. - **Every display gets its own strip.** Move windows between monitors with one key. - **Your rules.** Keep calculators floating, ignore apps entirely, stop chatty apps from stealing focus, or open an app on a chosen display and workspace. - **Plain-text config.** One small file, reloaded the moment you save it. ## Install tinywm needs macOS 14 Sonoma or later on a Mac with Apple silicon. 1. Download `tinywm.zip` from the latest release. 2. Open the zip and drag **tinywm** into your **Applications** folder. 3. Open **tinywm**. Apple has checked and notarized it, so it opens like any other app. To update, quit tinywm and replace the app with the new one. Your permissions and settings stay. **Build it yourself instead** (needs Xcode or the Command Line Tools): [code] This puts the app in `~/Applications`. ## Get started When tinywm first opens, a welcome window walks you through the permissions: - **Accessibility** is required. tinywm uses it to move and resize windows. - **Screen Recording** is optional. It is only for live window pictures while windows move. The welcome window also checks the macOS settings that get in the way: trackpad gestures, Stage Manager, tiling at screen edges, click wallpaper to reveal desktop, other window managers and Open at Login. Reopen it any time from the menu-bar icon (**Welcome…**). ## Default keys (All of these are configurable) Hold **right ⌘** (the "meta" key) and press: | Key | Does | |---|---| | H J K L or ← ↓ ↑ → | Move between windows | | ⇧ + the same | Move the window itself | | U / I, ⌥↓ / ⌥↑ or Page Down / Page Up | Workspace below / above (⇧ takes the window along) | | . / , | Next / previous display (⇧ takes the window along) | | W A S D | The display above, left, below or right (⇧ takes the window along) | | R | Cycle width: ⅓, ½, ⅔ | | F / C | Full width /