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 it's 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 I'll 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
------------

- https://github.com/swaywm/wlroots[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.

If anything is unclear, feel free to contact me.

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