A fully programmable Wayland Compositor
Find a file
tiosgz f1c2262ff6 Add controls for verbosity level
This allows the config to be exactly as verbose as kiwmi, or to change
the verbosity level at runtime (e.g. using kiwmic).

It uses numbers, because they are much easier to handle on both sides
and add only little inconvenience to the user.
2021-08-13 13:46:35 +00:00
include kiwmi_output:usable_area() and :on("usable_area_change") 2021-08-11 20:30:14 +00:00
kiwmi Add controls for verbosity level 2021-08-13 13:46:35 +00:00
kiwmic Add kiwmic IPC 2020-01-03 18:40:11 +00:00
protocols Fix incompatibilities with wlroots 0.13 2021-04-24 11:53:05 +00:00
.clang-format Add ForEachMacros to .clang-format 2019-12-30 21:46:50 -07:00
.editorconfig Fix meson indent in editorconfig 2021-08-12 11:54:25 +00:00
.gitignore Basic C comp 2019-02-17 13:19:28 +01:00
CONTRIBUTING.md Replaced README and CONTRIBUTING files 2019-12-21 21:36:48 -05:00
kiwmi.desktop Add kiwmi.desktop 2021-07-30 19:46:58 +00:00
LICENSE Initial commit 2018-12-31 15:25:17 +01:00
lua_docs.md Add controls for verbosity level 2021-08-13 13:46:35 +00:00
meson.build Add kiwmi.desktop 2021-07-30 19:46:58 +00:00
meson_options.txt Allow user to change their lua version 2020-05-11 15:11:23 +00:00
README.md Add lua dependency 2021-08-11 17:39:42 +00:00

kiwmi

A fully programmable Wayland Compositor


Stars GitHub issues GitHub contributors

kiwmi is a work-in-progress extensive user-configurable Wayland Compositor. kiwmi specifically does not enforce any logic, allowing for the creation of Lua-scripted behaviors, making arduous tasks such as modal window management become a breeze. New users should be aware of the steep learning curve present, however this will be reduced as the project matures.

Documentation

Documentation for the API can be found in lua_docs.md.

Getting Started

The dependencies required are:

  • wlroots
  • lua or luajit
  • meson (build)
  • ninja (build)
  • git (build, optional)

Building

After cloning/downloading the project and ensuring all dependencies are installed, building is as easy as running

$ meson build
$ ninja -C build

If you plan to use luajit instead, use the following commands instead.

$ meson -Dlua-pkg=luajit build
$ ninja -C build

Installing is accomplished with the following command:

# ninja -C build install

Contributing

Contributions are welcomed, especially while the project is in a heavy WIP stage. If you believe you have a valid concern, read the CONTRIBUTING document and please file an issue on the issues page.

For clarifications or suggestions on anything, please don't hesitate to contact me.