FelixSchladt / OxideWM

X11 dynamic tiling window manager written in rust
GNU General Public License v3.0
5 stars 0 forks source link

Decide which X11 rust interface to use #6

Closed FelixSchladt closed 1 year ago

FelixSchladt commented 1 year ago

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:

I tend to use x11rb because of these reasons

FelixSchladt commented 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.

FelixSchladt commented 1 year ago

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.