Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/buffet/kiwmi
A fully programmable Wayland Compositor
https://github.com/buffet/kiwmi
hacktoberfest lua wayland wlroots
Last synced: 5 days ago
JSON representation
A fully programmable Wayland Compositor
- Host: GitHub
- URL: https://github.com/buffet/kiwmi
- Owner: buffet
- License: mpl-2.0
- Created: 2018-08-25T15:02:24.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-06T09:08:10.000Z (over 1 year ago)
- Last Synced: 2024-08-03T18:14:50.986Z (3 months ago)
- Topics: hacktoberfest, lua, wayland, wlroots
- Language: C
- Homepage:
- Size: 272 KB
- Stars: 580
- Watchers: 16
- Forks: 23
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-wayland - kiwmi - Fully programmable compositor. (Compositor / Hybrid)
- awesome-wayland - kiwmi - Fully programmable compositor. (Compositor / Hybrid)
README
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](https://web.libera.chat/gamja/?channels=#kiwmi)!
## Documentation
Documentation for the API can be found in [lua_docs.md](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](https://gitlab.freedesktop.org/wlroots/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](https://github.com/buffet/kiwmi/blob/master/CONTRIBUTING.md) document and please file an issue on the [issues page](https://github.com/buffet/kiwmi/issues/new).For clarifications or suggestions on anything, please don't hesitate to contact me.