Because macOS thinks "multitasking" means overlapping 47 windows until your fan sounds like a jet engine.
Look, we love macOS, but default window management on Mac is an unsolved crime. Stage Manager was an avant-garde art project that nobody asked for, Mission Control turns into an illegible postage-stamp mosaic the moment you open more than five apps, and dragging window borders with a mouse in 2026 is an insult to your trackpad.
Linux nerds have had PaperWM and niri for years while Mac users were paying $20 for utility apps that spontaneously combust whenever Apple tweaks a single Cocoa API.
Iume fixes this by giving you one infinite, silky-smooth horizontal strip. Windows line up side-by-side like civilized adults instead of piling on top of each other like laundry on "the chair".
Grab the latest pre-built binary and stop fighting your desktop:
| Package | Purpose | Direct Download | Verification |
|---|---|---|---|
| Iume-v2.7.0.dmg | Recommended Drag & Drop Installer | Download .dmg | SHA-256 |
| Iume-v2.7.0.zip | Standalone .app Archive | Download .zip | SHA-256 |
Launch an app, and it politely slots into the strip right next to the window you were just using. It doesn't hijack your entire screen, and it doesn't bury your music player or terminal under four layers of browser windows. Revolutionary concept, we know.
Move focus with keyboard shortcuts or swipe with two fingers. The strip glides smoothly to bring the window into view on a spring animation that starts the exact millisecond you press the key. Zero perceived latency because we actually respect your 120Hz ProMotion display.
Ever restarted your Mac and spent the first 20 minutes dragging windows back to where they belong? Yeah, never again. Column order, custom widths, vertical stacks, and multi-display setups persist across reboots and sleep cycles.
- π Zero Snap-Back Scrolling (New in v2.7.0)
You know that cursed bug where you scroll to inspect a window, let go of the trackpad, and the camera violently snaps back to where you started like an angry rubber band? Dead. Buried. In Iume, when you stop scrolling, it actually stays there. No recoil, no camera seizures. - ποΈ Chrome-Style Tabs for Any Native App
Got 14 terminal windows or 9 Finder instances cluttering your strip? Pressββ₯ + Tto merge them into a single tabbed window. You get a slick 28pt floating tab bar with app icons, live window titles, and reorderable tabs. Drag a tab out to detach it, click+to open a new one. Browser convenience, now for your whole OS. - π Pixel-Perfect Alignment (Yes, Even Your Weird Terminals)
Terminal emulators (Apple Terminal, Ghostty, Alacritty, Kitty, iTerm2) have character-cell grids that love leaving awkward 3-pixel voids on screen. We spent way too many late nights wrestling AppKit's geometry engine so your borders snap flush with zero gaps and zero clipping. - π¦ Swift 6 + Rust Strip Engine
Swift handles the macOS AppKit lifecycle, while a dependency-free Rust engine (crates/iume_engine) does the heavy mathematical lifting for deterministic strip geometry and magnetic seam adherence. Because floating-point rounding errors are not a lifestyle choice. - β¨οΈ Throw Away Your Mouse (Full Keyboard Navigation)
Directional vim-like navigation withββ₯ + H / J / K / L. Zoom a window full-width withββ₯ + Return. Cycle tabs withββ₯ + Tab. Keep your hands on the keyboard and pretend you're in a 90s cyberpunk movie. - π₯οΈ Multi-Monitor That Doesn't Lose Its Mind
Independent strips per monitor. Unplugging your external display gracefully migrates your windows instead of dumping them into an existential black hole in the corner of your screen. - π΅οΈ 100% Offline & Anti-Spyware
Zero network calls. Zero telemetry. Zero analytics trackers. We don't want your data, your usage habits, or your crash logs. We have our own bugs to worry about.
All default shortcuts use Control + Option (ββ₯). Prefer classic bindings? You can tweak them anytime in Settings β Shortcuts.
| Shortcut | What It Does | Why You Care |
|---|---|---|
ββ₯ + H / ββ₯ + β |
Focus left window / column | Glide left across the strip |
ββ₯ + L / ββ₯ + β |
Focus right window / column | Glide right across the strip |
ββ₯ + K / ββ₯ + β |
Focus window above (if stacked) | Climb the vertical stack |
ββ₯ + J / ββ₯ + β |
Focus window below (if stacked) | Descend the vertical stack |
ββ₯β§ + H / ββ₯β§ + β |
Move column left | Reorder your workspace strip |
ββ₯β§ + L / ββ₯β§ + β |
Move column right | Reorder your workspace strip |
ββ₯ + Return / ββ₯ + F |
Toggle window zoom / full width | Instant distraction-free focus |
ββ₯ + W |
Close focused window | Bye bye, window |
ββ₯ + Tab |
Cycle windows or switch tabs | Fast in-group tab switching |
ββ₯β§ + Tab |
Cycle windows / tabs backward | Reverse gear |
ββ₯ + T |
Tab same-app windows together | Merges all instances into one tabbed group |
ββ₯β + T |
Tab all same-app windows workspace-wide | Instant nuclear declutter |
ββ₯β + ] / [ |
Next / previous tab in group | Standard browser tab cycling |
ββ₯β + N |
Open a new tab in current app | Spawns fresh window right into the tab bar |
ββ₯β§ + W |
Close only the active tab | Closes current tab without killing the whole column |
ββ₯β + D |
Detach active tab into its own column | Pulls the tab out into freedom |
ββ₯β§ + U |
Ungroup all tabs in column | Dissolves the tab group back into columns |
ββ₯β§ + P |
Pin tab bar visible | Keeps the bar open even for single tabs |
ββ₯β§ + F |
Float / unfloat active window | For calculator, PiP, or floating notes |
ββ₯ + O |
Toggle Strip Overview | Zoom out and see your entire empire |
Need more? Check out the full reference in docs/SHORTCUTS.md.
Tab groups treat several windows of the same app as one browser-like window. Under the hood, windows are never destroyed or frozen: switching tabs parks the inactive window off-screen and brings the chosen one forward. Your scroll position, active input, and video playback stay completely untouched.
- Group: Hit
ββ₯ + Tto merge same-app windows in the current column, or click Tabs β Group Same-App Windows in the menu bar. - Switch: Click a tab, hit
ββ₯β + ]/[, or useββ₯ + Tabwhile focused. - Add: Click
+in the floating tab bar to spawn a fresh window, or pick Add Existing Window. - Reorder: Drag tabs left or right with smooth spring physics.
- Detach: Drag a tab downward and out of the bar, or hit
ββ₯β + D. - Motion Vibes: Customize switch highlights and animations in Settings β General β Tab Motion & Effects (Balanced, Crisp, Playful, or Cinematic presets).
- Download
Iume-v2.7.0.dmgfrom Releases. - Open the
.dmgand drag Iume.app into/Applications. - Launch Iume. When macOS asks for Accessibility permissions, flip the switch ON (details below).
- Enjoy desktop peace.
Prerequisites: macOS 14+, Xcode 16+ (Swift 6), and a working Rust toolchain.
# Clone the repository
git clone https://github.com/Bvesroy/Iume.git
cd Iume
# Build the Rust engine + debug binary (builds Rust static lib automatically)
./scripts/build.sh
# Run the test suite (413 audit checks, all green)
swift test
# Launch Iume directly
swift run IumeOn first launch, macOS requires granting Accessibility permissions. This is required because macOS (rightfully) doesn't let random programs move, resize, or focus your windows without your blessing.
- A system alert will politely suggest visiting System Settings.
- Go to System Settings β Privacy & Security β Accessibility.
- Toggle the switch next to Iume to ON.
- Iume instantly starts organizing your strip. No reboots or terminal voodoo required.
Iume/
βββ Package.swift # Swift Package definition (macOS 14+, Swift 6)
βββ crates/
β βββ iume_engine/ # Rust strip engine (deterministic math, springs & magnetic seams)
βββ Resources/
β βββ Info.plist # Bundle properties & privacy descriptions
βββ Sources/
β βββ CIumeEngine/ # C ABI header bridging Rust engine to Swift
β βββ Iume/ # Executable application entry point (AppKit lifecycle)
β β βββ main.swift
β βββ IumeCore/ # Core framework
β βββ Models/ # WindowId, ManagedWindow, LayoutMode, DisplayGeometry
β βββ LayoutEngine/ # Pure decoupled layout math
β βββ Registry/ # Thread-safe in-memory window registry
β βββ Permissions/ # Accessibility permission validation & recovery
β βββ Discovery/ # AX window & app enumeration
β βββ Observer/ # AX notification observer with debouncing
β βββ Controller/ # Window movement, focus & spring animation
β βββ Display/ # Multi-monitor topology and migration
β βββ Shortcuts/ # Carbon global hotkey dispatcher
β βββ Settings/ # UserDefaults persistent store
β βββ Diagnostics/ # Structured logging & metrics
β βββ UI/ # StatusBarController, HUD & SwiftUI SettingsView
βββ Tests/
β βββ IumeCoreTests/ # Unit & integration test suites
βββ scripts/
β βββ build-rust.sh # Builds universal Rust static library (x86_64 + arm64)
β βββ build.sh # Debug build runner
β βββ build-release.sh # Production release runner
β βββ package.sh # Production .app packager with codesigning & DMG generation
βββ docs/ # Comprehensive technical knowledge base
βββ ARCHITECTURE.md # Subsystem deep dive
βββ FEASIBILITY_REPORT.md # macOS platform internals & AX quirks
βββ PERMISSIONS.md # Security & privacy documentation
βββ SHORTCUTS.md # Complete keyboard bindings reference
βββ TROUBLESHOOTING.md # Diagnostics & triage guide
βββ COMPATIBILITY.md # macOS version & hardware matrix
- Author & Architect: BvesRoy
- Signature: Vibecoded by BvesRoy π
- Philosophy: Software should feel fast, look clean, and stay out of your way.
Distributed under the MIT License. See LICENSE for details. Now go enjoy your wide screen.