Rust + XCB port of tinywm. Written for fun and study purposes, just following the current source code of tinywm.
Here are the instructions for how to run this on your system.
- Rust with cargo (you get this via the default installation method
presented on the Rust website, using the
rustup
tool).
You can compile the project by just using the default build command for
cargo
-based projects:
cargo build
Or, if you want an optimized build:
cargo build --release
Using Xephyr (a X-on-X implementation) is recommended. First start it on a new display, for example:
Xephyr :1
Then open some windows inside the new display:
DISPLAY=":1" urxvt &
Then run the window manager:
DISPLAY=":1" ./target/release/tinywm-rust-xcb
tinywm-rust-xcb
has the following functionality:
- focus follows mouse (X does this by default)
- move windows with Alt + left button
- resize windows with Alt + right button
Compared to tinywm, it doesn't have the Alt + F1 shortcut to raise windows. I want to add this on a future update, achieving functionality parity with tinywm.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Nick Welch (@mackstann) who wrote tinywm
- Remi Thebault (@rtbo) for the xcb crate
- Billie Thompson (@PurpleBooth) for making a cool README template