A Wayland kiosk
Find a file
Dominique Martinet 11d5284e83 virtual keyboards: add virtual keyboards to seat list
Without adding the keyboard to seat list we wouldn't properly declare
keyboard capability, making the keyboard not work in headless mode.

We actually need to free this at some point so adding to the list is
most sensible, but we still do not want to group virtual keyboards with
regular ones so add a new 'is_virtual' bool to cg_keyboard_group so we
can skip these for grouping.
2022-10-28 21:40:34 +09:00
.github/workflows Upgrade to wlroots 0.15 2021-12-21 21:53:28 +01:00
contrib Include release scripts 2021-04-16 14:34:57 +02:00
.clang-format Add clang-format file 2020-02-18 21:20:23 +01:00
.clang-format-ignore Move to GitHub actions 2021-12-19 11:12:19 +01:00
cage.1.scd man: indent with tabs 2020-07-16 16:25:19 +02:00
cage.c Enable presentation-time 2021-12-21 21:53:28 +01:00
config.h.in cage: add -v argument to print version 2020-01-26 18:18:49 +01:00
idle_inhibit_v1.c Apply clang-format 2020-02-18 21:20:23 +01:00
idle_inhibit_v1.h Replace all wayland-server.h includes with wayland-server-core.h 2019-12-20 17:16:53 +01:00
LICENSE Refactor surface damaging and rendering code 2020-01-11 17:07:33 +01:00
meson.build Update meson.build not to fail if git rev-parse fails 2022-08-19 11:59:41 +02:00
meson_options.txt Add man page. (#141) 2020-05-31 15:14:18 +02:00
output.c output: get scene_output by wlroots function 2022-03-22 16:58:24 +01:00
output.h Remove output_for_each_surface 2021-12-21 21:53:28 +01:00
README.md Add man page. (#141) 2020-05-31 15:14:18 +02:00
seat.c virtual keyboards: add virtual keyboards to seat list 2022-10-28 21:40:34 +09:00
seat.h virtual keyboards: add virtual keyboards to seat list 2022-10-28 21:40:34 +09:00
server.h Use scene-graph for damage tracking 2021-12-21 21:53:28 +01:00
view.c view: require non-NULL surface in view_from_wlr_surface 2022-01-14 14:59:13 +01:00
view.h view: implement view_from_wlr_surface in terms of wlr_surface->data pointer 2022-01-14 14:59:13 +01:00
xdg_shell.c xdg_shell: add note why we're setting the size for fullscreen clients 2022-01-14 14:59:13 +01:00
xdg_shell.h Use wlr_scene_xdg_surface_create for popups 2021-12-21 21:53:28 +01:00
xwayland.c Use scene-graph for damage tracking 2021-12-21 21:53:28 +01:00
xwayland.h Use scene-graph for damage tracking 2021-12-21 21:53:28 +01:00

Cage: a Wayland kiosk builds.sr.ht status

Cage's logo

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

Please see LICENSE on GitHub.

Copyright © 2018-2020 Jente Hidskes dev@hjdskes.nl