xdg-decoration: determine modes before requesting decorations
At the moment, a client can only determine if a decoration mode (CSD, SSD) is supported by requesting decorations for an xdg_toplevel
surface via get_toplevel_decoration
, requesting a mode via set_mode
and comparing the requested mode with the mode returned in the configure
event.
This is problematic for clients that condition on the available modes to decide if they are going to manage the xdg_toplevel
surfaces on their own, or if they are forwarding this task to another library which entirely encapsulates the client's xdg_toplevel
surfaces.
It would be useful to add an event to the xdg_decoration_manager
, that is used by the server to announce supported modes. This event could either be triggered one-by-one for each supported mode (such as for the global
event), or it could be triggered once with a bitmask of supported modes.
Ideally, a client can determine the supported modes this way without registering any xdg_shell
interfaces.