![]() When a new view has just been created (i.e. we're running the kiwmi:on( "view", ... callback ), that window can be in a weird position, off all the existing outputs. Because the code for getting the active output asks for the output at that window's position, it can get back NULL and then segfault when trying to return wlr_output->data. Now, if there's no output at the window's position, the code just moves on to look at the cursor. |
||
---|---|---|
include | ||
kiwmi | ||
kiwmic | ||
protocols | ||
.cirrus.yml | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
CONTRIBUTING.md | ||
kiwmi.desktop | ||
LICENSE | ||
lua_docs.md | ||
meson.build | ||
meson_options.txt | ||
README.md |
kiwmi
A fully programmable Wayland Compositor
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.