kiwmi/README.adoc

1.8 KiB
Raw Blame History

kiwmi

A client controlled Wayland compositor.

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, kiwmic, 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.

On top of that, kiwmi barely handles anything on its own. Instead it emmits events, to which the client can subscribe and react accordingly. This allows for 100% flexibility and customizability, while comming at a little effort at first. As soon as they exist Ill link a few user configurations, that are likely to help you get started.

This means the user will end up using a big, monolithic frontend, or a collection of small scripts, to configure kiwmi. If I get around to it I will probably create a small Python (probably) library, to make it easier to create a monolithic frontend.

Dependencies

  • wlroots

  • meson (build)

  • ninja (build)

  • git (build, optional, to fetch the version)

Building

Make sure all dependencies are installed. Then run this.

$ meson build
$ ninja -C build

You can then install it like this.

# ninja -C build install

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. Also read file:CONTRIBUTING.adoc[CONTRIBUTING.adoc].

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.