xdg-cutouts-v1: New protocol implementation

See https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/372

The compositor implemention can connect to the `new_cutouts` signal which
is invoked whenever a client binds the protocol. It then listens for the
`send_cutouts` signal on the received `cutouts` object and when received
sends the cutout information via any number of
`wlr_xdg_cutouts_v1_send_{cutout,corner}` calls followed by a
`wlr_xdg_cutouts_v1_send_cutouts_done` call. The ids used in these calls
are up to the compositor implementation.

The `unhandled_update` signal is invoked when the client reports any
sent ids as unhandled.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
This commit is contained in:
Guido Günther 2025-01-01 22:13:54 +01:00
parent a962d58727
commit dc597cec78
5 changed files with 693 additions and 0 deletions

View file

@ -76,6 +76,9 @@ protocols = {
'wlr-output-power-management-unstable-v1': 'wlr-output-power-management-unstable-v1.xml',
'wlr-screencopy-unstable-v1': 'wlr-screencopy-unstable-v1.xml',
'wlr-virtual-pointer-unstable-v1': 'wlr-virtual-pointer-unstable-v1.xml',
# Until it gets merge in wayland protocols:
'xdg-cutouts-v1': 'xdg-cutouts-v1.xml',
}
protocols_code = {}