A fully programmable Wayland Compositor
Find a file
buffet c315adf31f Keyboard handling
commit ee1a46632dea614fcdf614299d4de6e22a9b0060
Author: buffet <niclas@countingsort.com>
Date:   Sat Mar 16 16:29:33 2019 +0100

    Fixed TTY switching

commit 7cc8aae424c924035489c09c6d5337eb281f1e39
Author: buffet <niclas@countingsort.com>
Date:   Fri Mar 15 16:55:13 2019 +0100

    Started working on kb handling
2019-03-16 16:31:58 +01:00
include/kiwmi Keyboard handling 2019-03-16 16:31:58 +01:00
kiwmi Keyboard handling 2019-03-16 16:31:58 +01:00
.clang-format clang-format 2019-02-19 11:50:46 +01:00
.gitignore Basic C comp 2019-02-17 13:19:28 +01:00
CONTRIBUTING.adoc added contributing.adoc 2019-02-19 11:55:14 +01:00
LICENSE Initial commit 2018-12-31 15:25:17 +01:00
meson.build Keyboard handling 2019-03-16 16:31:58 +01:00
meson_options.txt Basic C comp 2019-02-17 13:19:28 +01:00
README.adoc Added TTY warning to readme 2019-03-10 23:04:42 +01:00

kiwmi

A client controlled Wayland compositor.

Configuration

Configuration languages are confusing. They are neither flexible nor easy to use. Moreover, they add significant complexity to the program itself. kiwmi listens to a socket and offers a basic client, kiwmic, to communicate with kiwmi, similarly to 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.

kiwmi handles almost nothing on its own, and instead it emits events, to which the client can subscribe and react accordingly. This allows for 100% flexibility and customizability, while requiring little overhead effort. New user configurations will be linked as they are created, to help new users get started.

kiwmi will end up being configured by a monolithic frontend, or collection of small scripts. A small (probably) Python library may be created to aid creating a monolithic frontend.

WARNING: Right now you shouldnt run kiwmi from a TTY, as you wont be able to exit it.

Dependencies

  • wlroots

  • meson (build)

  • ninja (build)

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

Building

Make sure all dependencies are installed.

Run:

$ meson build
$ ninja -C build

Install with:

# 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 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.