I am using a wireless keyboard with an integrated touchpad. I do neither need nor want the touchpad, but I am unable to attach the keyboard only (without the pointer device) to my computer. I therefore find it convenient to simply disable that device when starting `cage`. The switch for disabling touch input is there for consistency. Maybe it comes in handy to someone else at some point. I don't have any previous experience with wayland, so there is a chance that I simply missed some environment variable that accomplishes the same. In this case, this commit would be unnecessary. The command line switches `P` and `T` are quite ad-hoc. I probably would have gone for `--disable-pointer` and `--disable-touch` if long command line switches had already been in use. If someone has a better idea than `P` and `T`, please suggest it. |
||
|---|---|---|
| .builds | ||
| contrib | ||
| .clang-format | ||
| cage.1.scd | ||
| cage.c | ||
| config.h.in | ||
| idle_inhibit_v1.c | ||
| idle_inhibit_v1.h | ||
| LICENSE | ||
| meson.build | ||
| meson_options.txt | ||
| output.c | ||
| output.h | ||
| README.md | ||
| render.c | ||
| render.h | ||
| seat.c | ||
| seat.h | ||
| server.h | ||
| util.c | ||
| util.h | ||
| view.c | ||
| view.h | ||
| xdg_shell.c | ||
| xdg_shell.h | ||
| xwayland.c | ||
| xwayland.h | ||
Cage: a Wayland kiosk 
This is Cage, a Wayland kiosk. A kiosk runs a single, maximized application.
This README is only relevant for development resources and instructions. For a description of Cage and installation instructions for end-users, please see its project page and the Wiki.
Release signatures
Releases are signed with 6EBC43B1 and published on GitHub.
Building and running Cage
You can build Cage with the meson build system. It requires wayland, wlroots, and xkbcommon to be installed. Optionally, install scdoc for manual pages. Note that Cage is developed against the latest tag of wlroots, in order to not constantly chase breaking changes as soon as they occur.
Simply execute the following steps to build Cage:
$ meson build
$ ninja -C build
By default, this builds a debug build. To build a release build, use meson build --buildtype=release.
Cage comes with compile-time support for XWayland. To enable this,
first make sure that your version of wlroots is compiled with this
option. Then, add -Dxwayland=true to the meson command above. Note
that you'll need to have the XWayland binary installed on your system
for this to work.
You can run Cage by running ./build/cage APPLICATION. If you run it from
within an existing X11 or Wayland session, it will open in a virtual output as
a window in your existing session. If you run it at a TTY, it'll run with the
KMS+DRM backend. In debug mode (default build type with Meson), press
Alt+Esc to quit. For more configuration options, see
Configuration.
Cage is based on the annotated source of tinywl and rootston.
Bugs
For any bug, please create an issue on GitHub.
License
Copyright © 2018-2020 Jente Hidskes dev@hjdskes.nl