Cage Versions Save

A Wayland kiosk

v0.1.5

9 months ago

Cage 0.1.5 adds a number of new features:

  • Cage now implements the following protocols: wlr-output-management-unstable-v1, virtual-keyboard-unstable-v1, wlr-virtual-pointer-unstable-v1, single-pixel-buffer-v1, presentation-time, viewporter.
  • Cage now uses wlroots' scene-graph API, which should improve performance.
  • Cage falls back to lower resolutions when the preferred output mode cannot be used.

This version of Cage requires wlroots 0.16.

The PGP signing key has changed for this release: E88F5E48 is now used.


Alexander Orzechowski (11):
      seat: Port 0.16 device changes
      xdg_shell: Port 0.16 xdg_toplevel changes
      xdg_shell: Port to 0.16 double buffered geometry
      xdg_shell: Port 0.16 configure changes
      Port 0.16 wlr_output_layout_get_box changes Fixes memory leaks.
      Port 0.16 scene changes
      Give xdg_shell a version
      Port 0.16 surface header includes
      meson: Bump wlroots version
      Enable single-pixel-buffer Why not.
      CI: bump to wlroots 0.16

ChemicalXandco (1):
      add wlr_virtual_keyboard_manager_v1 and wlr_virtual_pointer_manager_v1

Dima Krasner (3):
      restore direct libm dependency (fixes #222)
      use find_library() for libm
      fall back to a lower output mode if needed (swaywm/sway@4cdc4ac)

Ethan D. Twardy (2):
      Fix warnings in `meson build' output for deprecated functions.
      Update meson.build not to fail if git rev-parse fails

Jan Beich (1):
      cage: allow running as root when not using setuid bit

Jente Hidskes (10):
      Move to GitHub actions
      Tune compiler options
      Remove no longer needed dependencies
      output: set pointer to cg_output in wlr_output->data
      view: implement view_from_wlr_surface in terms of wlr_surface->data pointer
      view: require non-NULL surface in view_from_wlr_surface
      util: remove unneeded module
      xdg_shell: check role in is_primary
      xdg_shell: add note why we're setting the size for fullscreen clients
      cage: remove support for rotating outputs

Jonathan GUILLOT (2):
      cage: add basic wlr-output-management support
      output: fix segfault when using `-m last` option

Leonardo Hernández Hernández (1):
      output: get scene_output by wlroots function

Lorenz Brun (1):
      Set xdg_toplevel geometry for fullscreen clients

Palanix (2):
      fix drag
      removed focus_changed logic

Phil Jones (1):
      Explicitly create wlr_subcompositor.

Simon Ser (24):
      Don't manually parse XKB_* env vars
      Damage drag icon when destroyed
      build: allow using subproject for wlroots
      Fix count_surface_iterator
      Upgrade to wlroots 0.15
      Use the wlroots scene-graph API
      Drop view_for_each_surface and view_for_each_popup_surface
      Replace view_wlr_surface_at with scene-graph
      Use scene-graph helpers for sub-surfaces
      Use scene-graph for damage tracking
      Use wlr_scene_attach_output_layout
      Drop unused output_surface_for_each_surface
      Remove output_for_each_surface
      Delegate direct scan-out to wlr_scene
      Use wlr_scene_output_for_each_surface
      Use wlr_scene_xdg_surface_create for popups
      Drop cg_view_child
      Use wlr_scene_output_send_frame_done
      Enable viewporter
      Enable presentation-time
      readme: drop CI badge
      Log execvp() failures
      build: fix default xwayland option type
      build: bump version to 0.1.5

lunacb (1):
      fixed typo

v0.1.4

2 years ago

Cage 0.1.4 is a compatibility release to track wlroots 0.14.0.

Cage development has slowed down due to the pandemic, so this is a small release. Thank you to everyone reporting issues and opening PRs, your contributions are appreciated! I hope to return to Cage development in the coming year.

The full changelog follows below:

Jan Beich (3):
      view: chase swaywm/wlroots@9e58301df7f0
      meson: require wlroots 0.14.0 after 9a4523d47efe
      CI: bump wlroots version to 0.14.0

Jente Hidskes (2):
      Include release scripts
      Update version to 0.1.4

v0.1.3

3 years ago

Cage 0.1.3 is a compatibility release to track wlroots 0.13.0.

Cage development has slowed down due to the pandemic, so this is a small release. Thank you to everyone reporting issues and opening PRs, your contributions are appreciated! I hope to return to Cage development in the coming period.

The full changelog follows below:

Jan Beich (10):
      seat: chase swaywm/wlroots@7693f61
      seat: chase swaywm/wlroots@e06c9e4
      cage: chase swaywm/wlroots@4b03bdc
      xdg_shell: chase swaywm/wlroots@0711182
      output: chase swaywm/wlroots@cc56b4f
      meson: require wlroots 0.13.0 after 0db6267
      CI: chase swaywm/wlroots@3504bb5 + swaywm/wlroots@e8ad059
      CI: chase swaywm/wlroots@de5347d
      CI: explicitly depend on Mesa on Arch Linux
      CI: bump wlroots version to 0.13.0

Jente Hidskes (1):
      Update version to 0.1.3

Michael Weiss (2):
      seat.c: Make clangformat happy and simplify the control flow
      meson.build: Unify the indentation (replace all tabs)

v0.1.2.1

3 years ago

This is a quick fix for v0.1.2 which contained a broken man page.

Jente Hidskes (1):
      man: indent with tabs

v0.1.2

3 years ago

EDIT: This release contained a broken manpage, see v0.1.2.1 for a fixed tarball.

Cage 0.1.2 comes with a number of new features and bug fixes. It features 84 commits across 12 contributors.

The most noticeable additions are:

  • Cage now implements the wlr-screencopy-unstable-v1 , xdg-output-unstable-v1.xml, wlr-gamma-control-unstable-v1, and wlr_export_dmabuf_unstable_v1 protocols.
  • Support for direct scan-out has been added to Cage.
  • Cage now allows switching VTs, thanks to @jantatje.
  • @kennylevinsen provided the initial multi-monitor implementation for Cage. This has now been extended into two behaviors (see the -m argument to Cage); one to extend the application across the monitors' bounding box and another to use only the last plugged in monitor.
  • @project-repo added support for keyboard groups.
  • Cage now comes with a manpage thanks to @travankor.

This version of Cage requires at least wlroots 0.11.

Andri Yngvason (2):
      Add screencopy
      Add xdg output manager

Damon (1):
      output: wrap xwayland.h include in CAGE_HAS_XWAYLAND (#120)

Derek Wallace (1):
      Removed destructors per wlroots PR 1915

Jan Beich (3):
      output: unbreak with wlroots 0.11.0
      meson: require wlroots 0.11.0 after 6a12da196068
      CI: bump wlroots version to 0.11.0

Jan Tatje (1):
      Add option to allow changing VT

Jente Hidskes (62):
      README: use www subdomain
      README: update email address
      CI: use a version of wlroots that compiles with libinput 1.14
      Update wlroots in CI builds to 0.8.1
      Fix the FreeBSD build
      Implement wlr-gamma-control-unstable-v1
      Rename data_device_mgr to _manager
      Document environment variables
      Implement wlr_export_dmabuf_unstable_v1
      README: refer to docs/
      Replace all wayland-server.h includes with wayland-server-core.h
      output: log error when failing to allocate output
      view: use output layout to set x,y coordinates
      Be explicit about output- and layout coordinates
      Rename view_damage_surface to view_damage_part
      xwayland: fix regression after 95b7782
      seat: be explicit about output- and layout coordinates
      Use hard tabs
      Refactor surface damaging and rendering code
      Render popups separately from their toplevel view when possible
      output: check whether outputs are enabled
      output: refactor get_surface_box
      output: initialise wlr_output before positioning views
      README: update Copyright to include 2020
      xwayland: use view's (x,y) coordinate when maximizing
      view: maximize dialog if it extends output layout
      cage: center cursor only on initial startup
      CI: build against wlroots 0.10.0
      Cage: check if XDG_RUNTIME_DIR is set
      Move docs to the wiki
      cage: add -v argument to print version
      meson: don't build with -Werror by default
      CI: build with --werror
      README: update build instructions
      output: add support for direct scan-out
      output: include seat.h
      render: use output backend to get renderer
      cage: return 0 always in the signal handler
      cage: change copyright to include 2020
      cage: handle SIGCHLD of primary client
      cage: report on exit status of primary client
      cage: destroy output_layout after wl_display
      cage: switch SIGCHLD handling for pipe
      cage: set CLOEXEC on the file descriptors
      cage: cleanup_primary_client when jumping to 'end'
      server: remove backend pointer
      meson: fix snapshot builds
      Add clang-format file
      Apply clang-format
      Begrudgingly format wl_list_* macros with a space before parameter list
      CI: add clang-format task
      CI: add tasks that build without XWayland
      Cage: check for sigchld_source being NULL before removing it
      seat: log around input device mapping (#128)
      seat: remove signals earlier in seat destroy handler (#130)
      output: add enable and disable functions
      output: add output_mode enum
      output: implement CAGE_MULTI_OUTPUT_MODE_LAST
      cage: allow setting output mode
      Invert wlr_xcursor_manager_load return value
      man: document -s and fix some typos
      Release Cage 0.1.2

Kenny Levinsen (6):
      Support multiple outputs
      Check calloc return value
      Annotate wl_list link field
      Set title on outputs that the focused surface is intersecting with
      Avoid excessive log messages with multiple outputs
      Revert "Set title on outputs that the focused surface is intersecting with"

Matthew Bauer (1):
      Don’t terminate display when no view is found (#132)

Ruben Vandamme (1):
      Set startup color to black.

Tristan Daniel (3):
      Update new output handler for wlroots 0.9.0
      output: call wlr_output_rollback if not rendering
      meson: require wlroots 0.9.1

project-repo (1):
      Implement support for wlr_keyboard_group (#123)

travankor (2):
      Cage: drop gid before uid (#142)
      Add man page. (#141)

v0.1.1

4 years ago

A new tag for packagers to build Cage with wlroots 0.6.0.

Release notes:

Drew DeVault (1):
      Update to wlroots 0.6.0

Jan Beich (2):
      Switch to system epoll-shim.pc in FreeBSD build
      Cage: drop root on startup like Sway

Jente Hidskes (9):
      README: add logo and signed release note
      README: set logo size in px
      CI: use wlroots 0.6.0
      output: don't submit too much damage
      output: fix damage tracking debug mode
      output: use the output's preferred mode
      seat: use XKB_* env vars for configuring keyboard devices
      meson: require wlroots 0.6.0
      Release Cage 0.1.1

Michael Vetter (1):
      Set version to 0.1

v0.1

5 years ago

This is the first pre-release of Cage, the Wayland kiosk. This version comes with the following features:

  • xdg-shell
  • XWayland
  • Mouse, keyboard and touch input
  • Idle inhibit
  • Server side decorations
  • Copy and paste (also into and out of XWayland), including primary selection
  • Damage tracking
  • Multiple, maximized applications in contrast to a single maximized application
  • Output rotation

This release of Cage requires wlroots 0.5.0