A fully programmable Wayland Compositor
Find a file
2019-01-26 19:33:29 +01:00
src Updated wlroots-rs, use their logger 2019-01-26 19:33:29 +01:00
wlroots-rs@efae7ee8f4 Updated wlroots-rs, use their logger 2019-01-26 19:33:29 +01:00
.gitignore Added rust stuff 2018-12-31 15:51:40 +01:00
.gitmodules Added wlroots-rs 2019-01-07 21:29:08 +01:00
Cargo.lock Updated wlroots-rs, use their logger 2019-01-26 19:33:29 +01:00
Cargo.toml Own logger based on wlr_log 2019-01-17 14:40:29 +01:00
LICENSE Initial commit 2018-12-31 15:25:17 +01:00
README.adoc Added missing build command 2019-01-25 10:51:19 +01:00

kiwmi

A fully manual tiling Wayland compositor.

Concepts

Most manual window managers arent truly manual. They behave like a dynamic one sometimes. However, kiwmi is fully manual. It doesnt do this.

When a window is spawned without allocating space, its put in an invisible queue. Then you allocate space for the window; when the window is pulled from the queue, it goes into the aforementioned space. This solves the classic problem with regular window managers, where the window with a longer start time will spawn in the current tag (workspace) instead of the one in which it was opened in.

In kiwmi, empty spaces available for windows behave like a normal window does. You can resize and move around them. Ergo, you dont need to re-learn how a tiling window manager behaves and works.

Configuration

Configuration languages are confusing. They are neither flexible nor easy to use. Moreover, it adds a lot of complexity to the program itself. kiwmi listens to a socket and offers a basic client, seed, to communicate with kiwmi. Much like how bspwm works.

This allows the user to write the configuration in any langauge, e.g. as a bash script, which allows for high flexibility.

More info soon™.

Dependencies

kiwmi depends on wlroots-rs. This means that all dependencies listed there are required.

No further dependencies are needed.

Building

$ git clone --recurse-submodules https://github.com/buffet/kiwmi
$ cd kiwmi
$ cargo build --release

Contribution

You want to contribute? Great!

Future requests, bug reports and PRs are always welcome. Note that pull requests without a valid issue are ignored to decrease the amount of duplicate work.

If anything is unclear, feel free to contact me.

If you dont program but want to contribute to kiwmi, spread the word about kiwmi and star the repo.