A high-performance tiling window manager in Rust, inspired by dwm.
Maverick aims to bring the simplicity and speed of suckless-style window management to a memory-safe, modern Rust codebase. It manages your windows in automatic tiled layouts, stays out of your way, and is driven entirely from the keyboard.
Status: Early development. APIs, keybindings, and configuration are subject to change.
- Tiling layouts — automatic master/stack tiling, monocle (fullscreen), and floating modes.
- Tag-based workspaces — dwm-style tags instead of rigid workspaces; view one or more tags at once.
- Keyboard driven — every action is bound to a key; no mouse required.
- Multi-monitor aware — independent layouts and tags per monitor.
- Lightweight & fast — minimal dependencies and low memory footprint.
- Memory safe — written in safe Rust to avoid the classes of bugs common in C window managers.
- A Unix-like system running X11
- Rust toolchain (stable, 2021 edition or newer)
- X11 development headers (e.g.
libx11-dev,libxinerama-devon Debian/Ubuntu)
Build from source with Cargo:
git clone https://github.com/azytar/Maverick.git
cd Maverick
cargo build --releaseThe compiled binary will be available at target/release/maverick.
To install it onto your PATH:
cargo install --path .Maverick is launched from your X session startup file. Add the following to your ~/.xinitrc:
exec maverickThen start X with:
startxIf you use a display manager, create a desktop session entry that runs maverick.
Default keybindings follow dwm conventions, using Mod (the Super/Windows key) as the primary modifier:
| Keybinding | Action |
|---|---|
Mod + Enter |
Launch terminal |
Mod + p |
Launch application launcher |
Mod + j / Mod + k |
Focus next / previous window |
Mod + h / Mod + l |
Shrink / grow master area |
Mod + Space |
Toggle floating for focused window |
Mod + [1..9] |
View tag |
Mod + Shift + [1..9] |
Move focused window to tag |
Mod + Shift + c |
Close focused window |
Mod + Shift + q |
Quit Maverick |
Like dwm, Maverick favors configuration in source for zero runtime overhead. Edit the configuration module and rebuild to apply changes:
cargo build --releaseContributions are welcome! Please open an issue to discuss substantial changes before submitting a pull request.
- Fork the repository and create a feature branch.
- Run
cargo fmtandcargo clippybefore committing. - Ensure
cargo buildandcargo testpass. - Open a pull request describing your change.
Maverick is released under the MIT License.