A fully programmable Wayland Compositor
Find a file
tiosgz b0ccd088de output: wlr_renderer_begin with physical size
The rendered region size is independent on the output transform and
scale. Until now, an output with scale > 1 would render only its
(1 / scale) part; so with a scale of 2, only the top-left quarter (ie.
the left 1/2 of the top 1/2) would be visible.

Similarly, a portrait output (constructed as landscape, rotated by 90
degrees) would have an empty area at its bottom.

This bug was found while testing the output-management PR (#62).
2022-07-14 14:21:14 +00:00
include Partly revert "Only render mapped surfaces" 2021-12-20 19:07:58 +00:00
kiwmi output: wlr_renderer_begin with physical size 2022-07-14 14:21:14 +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
.cirrus.yml Fix format CI test 2021-08-26 12:42:18 +00:00
.clang-format Add ForEachMacros to .clang-format 2019-12-30 21:46:50 -07:00
.editorconfig Add cirrus CI 2021-08-13 17:59:54 +00:00
.gitignore Basic C comp 2019-02-17 13:19:28 +01:00
CONTRIBUTING.md Contributing: add a note about code formatting 2021-12-09 14:32:36 +00: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 Improve iresize docs 2022-05-03 18:25:45 +00:00
meson.build Add hacky lazy damage tracking implementation 2021-08-14 19:44:20 +00:00
meson_options.txt Allow user to change their lua version 2020-05-11 15:11:23 +00:00
README.md Fix link to wlroots repository 2022-01-13 20:35:40 +00:00

kiwmi

A fully programmable Wayland Compositor


Stars Build Status 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.

Got any questions or want to discuss something? Join us in #kiwmi on irc.libera.chat!

Documentation

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

Additionally kiwmic can be used to send a single lua string to kiwmi for direct evaluation.

For example:

$ kiwmic 'return kiwmi:focused_view():id()'
94036737803088.0

Getting Started

The dependencies required are:

  • wlroots
  • lua or luajit
  • pixman
  • 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.