A fully programmable Wayland Compositor
Find a file
2020-07-17 21:27:19 +01:00
include Add kiwmi:schedule 2020-02-08 15:08:37 +00:00
kiwmi Remove __gc from renderer 2020-02-10 00:22:01 +00:00
kiwmic Add kiwmic IPC 2020-01-03 18:40:11 +00:00
protocols Add enum field to kiwmi_command::done 2020-01-15 20:31:53 +00:00
.clang-format Add ForEachMacros to .clang-format 2019-12-30 21:46:50 -07: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
LICENSE Initial commit 2018-12-31 15:25:17 +01:00
lua_docs.md Add kiwmi:schedule 2020-02-08 15:08:37 +00:00
meson.build Allow user to change their lua version 2020-05-11 15:11:23 +00:00
meson_options.txt Allow user to change their lua version 2020-05-11 15:11:23 +00:00
README.md Init.lua is mentioned now 2020-07-17 21:27:19 +01: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.

Getting Started

The dependencies required are:

  • wlroots
  • meson (building)
  • ninja (building)
  • 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.

Using

Since kiwmi does not have any logic in itself, all logic must be provided by lua scripts, specifically the init.lua file. See the lua_docs.md for a ruleset for the lua files. To test a lua command / file, you can use the kiwmi client (kiwmic). By default, no lua configuration file is supplied. If you really want an example, you can look at https://github.com/zena1/kiwmi./blob/master/init.lua