Closed FelixSchladt closed 1 year ago
Penrose seems to be historically based upon the rust-xcb library. This seems to be the reason for both libraries be marked as optional in the penrose Cargo.toml. Penrose therefore has two backends, an old one using rust-xcb and a newer one based upon x11rb.
https://github.com/sminez/penrose/issues/104 -> Initial proposal by x11rb Author https://github.com/sminez/penrose/pull/117 -> Implementation of the backend
As a conclusion: It seems like both libraries are fully capable of being used for writing a wm.
We have decided to base our Window manager upon the x11rb crate. This crate seems to offer the best documentation along with full feature support and is a pure rust implementation.
There has been some research been done in the concept phase, but this has not reached maturity and some further research is required:
X11
[Discussion] There seem to be two main libraries offering X11 bingings for rust: XCB wikipedia
Rust libraries: x11-rs x11rb xcb
Comparison between different X11 libraries
x11rb seems to offer some benefits: