[PATCH wayland-protocols] xdg-output: deprecate the xdg_output.done event
scott.anderson at collabora.com
Sun Apr 28 09:52:34 UTC 2019
>>> This commit makes it so a wl_output.done event is guaranteed to be sent with a
>>> xdg_output.done event.
>> Humm, I am not sure I like changing xdg-output to rely on another protocol
>> event, it's looks like a weird mixup to me...
> As noted below, this is idiomatic in the Wayland protocol. The
> wl_surface.commit request applies xdg_surface's state.
Just to expand on this with my two-cents, many of the Wayland protocol
objects are conceptually extensions of other protocol objects.
xdg_surface extends wl_surface, xdg_toplevel extends xdg_surface, and if
we want to go cross-extension-protocol, xdg_toplevel_decoration extends
While this is 4 protocol objects, we're conceptually just dealing with a
single surface's state. The protocol objects are simply adding new
interfaces to that surface and are meaningless on their own. We want to
keep that surface's state consistent, so they need to share the same
synchronisation to ensure atomicity, which includes wl_output.commit and
So there is certainly precedence for relying on the events and requests
of other protocols.
Now applying that to xdg_output, it's simply adding interfaces to an
wl_output object, and isn't meaningful on its own. It only makes sense
to synchronise it properly with wl_output.
More information about the wayland-devel