[PATCH weston 10/10] compositor-wayland: Simplify fullscreening for sprawl use case

Daniel Stone daniel at fooishbar.org
Mon Nov 21 16:43:45 UTC 2016

Hi Armin,

On 9 October 2016 at 16:30, Armin Krezović <krezovic.armin at gmail.com> wrote:
> wayland_output_set_fullscreen() already takes care of
> everything and xdg_shell doesn't use any present methods
> so a single call to wayland_output_set_fullscreen() is
> sufficient.

Ha, clever. I kind of wish I'd looked at this closer before.

The fullscreen-shell says that a client (should) use 'either the
present_surface or the present_surface_for_mode requests', but this
actually uses both. It ignores the present_surface_for_mode feedback
object, so if a mode switch fails, it relies on the normal
present_surface request having made fullscreen live. I don't really
see anything in the protocol text which suggests that this is
something which should work portably.

Maybe a better approach, whilst you're here, would be to not destroy
the result of present_surface_for_mode, and then fall back to
present_surface if the feedback object returns failed? Of course just
directly calling present_surface if we're not sprawling.

Sorry, I know this isn't your doing, but ...


More information about the wayland-devel mailing list