cage: add support for wlr-output-power-management

This implements the zwlr_output_power_management_v1 protocol, which
allow clients such as swayidle to toggle display power state. Outputs
are intentionally not removed per the discussion in #245.

A dpms_powered_off flag is tracked on each output to prevent a DPMS "on"
request from re-enabling an output that was disabled via wlr-output-management
rather than DPMS.

The protocol generation/dep additions is heavily inspired by swaywm

Fixes #245
This commit is contained in:
Clayton Craft 2026-06-05 09:05:21 -07:00
parent 79e1e0dfaa
commit 7e44e3c832
No known key found for this signature in database
GPG key ID: B14FABC9971C467A
7 changed files with 199 additions and 1 deletions

View file

@ -102,9 +102,11 @@ if conf_data.get('CAGE_HAS_XWAYLAND', 0) == 1
cage_sources += 'xwayland.c'
endif
subdir('protocols')
executable(
meson.project_name(),
cage_sources,
cage_sources + wl_protos_src,
dependencies: [
wayland_server,
wlroots,