eufon/kiwmi
Daniel Barlow c980f7fe20 initial support for touch events
Calls lua handlers, then passes the event to the appropriate client

Doesn't do pointer emulation (unlike sway) because in the
GNOME/Gtk worldview that's done client-side, so my assumption is
anything else that wants to co-exist with GNOME also has to
do it client-side

Still to do:

- verify whether return value of the lua handler will affect whether
event passed to child

- clean up the hacky int we use to track whether to set touch
seat capability
2022-07-12 23:16:44 +00:00
..
include initial support for touch events 2022-07-12 23:16:44 +00:00
kiwmi initial support for touch events 2022-07-12 23:16:44 +00:00
kiwmic Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
protocols Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
.cirrus.yml Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
.clang-format Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
.editorconfig Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
.gitignore Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
CONTRIBUTING.md Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
LICENSE Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
README.md Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
kiwmi.desktop Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
lua_docs.md terminate repl & cleanup when eof 2022-07-02 23:17:00 +01:00
meson.build Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00
meson_options.txt Merge commit '28156e0c9d098738f56a976ac8fa983bf22cf6b8' as 'kiwmi' 2022-04-26 15:34:04 +01:00

README.md

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.