-
-
Notifications
You must be signed in to change notification settings - Fork 74
Home
Rift is a tiling window manager focused on versatility and performance. It combines keyboard-driven layouts with native macOS behavior, including support for Displays have separate Spaces, trackpad workspace gestures, and fullscreen on one display while working on another.
It is designed to feel responsive and practical rather than prescriptive: choose a traditional tree, bsp, master-stack, scrolling, or stack layout, then tune the behavior to match the way you work.
brew install acsandmann/tap/riftInstall and start Rift as a per-user launchd service:
rift service install
rift service startmacOS may ask for Accessibility permission. Grant it in System Settings → Privacy & Security → Accessibility, then restart the service:
rift service restartTo try Rift without installing a service, run:
riftgit clone https://github.com/acsandmann/rift.git
cd rift
cargo build --bins --release
./target/release/riftOr install the locally built binary as a service:
cargo run --bin rift --release service install
cargo run --bin rift --release service startTip
in order for rift to begin managing windows it must first be activated by pressing Alt + Z which is the default key combination for the toggle_space_activated
- Start Rift using Homebrew or a source build.
- Grant Accessibility permission when macOS requests it.
- Activate the current Space with
⌥ Z. - Create a configuration at
~/.config/rift/config.toml. - Reload and experiment with layouts, gaps, keybindings, and workspace behavior.
Copy the default configuration as a starting point:
mkdir -p ~/.config/rift
cp rift.default.toml ~/.config/rift/config.tomlIf you installed Rift through Homebrew, use the copy of rift.default.toml from the repository or start with only the settings you want to customize.
| Start here | Go deeper |
|---|---|
| Quick Start — installation and first launch | Configuration reference — every setting, layout, and keybinding |
| App rules — automatically place, float, focus, or ignore windows | CLI reference — query, control, subscribe, and persist layouts |
| Integrations — SketchyBar, Rust, Lua, and Mach IPC clients | Project README — features, status, and community |
| Issue tracker — bugs, ideas, and fixes |
Useful commands
# Inspect Rift's current state
rift-cli query workspaces
rift-cli query windows
rift-cli query displays
# Control windows and workspaces
rift-cli execute window focus left
rift-cli execute workspace switch 2
# Watch for workspace changes
rift-cli subscribe mach workspace_changedSee the full CLI reference for all query, execute, subscription, service, and layout-persistence commands.
Rift is developed in the open. Join the Rift Matrix room for discussion, configuration help, and announcements, or open an issue when you find a bug or have an idea.
Make your windows fit the way you think.