[PATCH] xdg-shell: add draw states for xdg_surface

Olivier Fourdan ofourdan at redhat.com
Tue Jun 7 09:15:15 UTC 2016

Hi Benoit,

----- Original Message -----
> On 07/06/2016 10:30, Olivier Fourdan wrote:
> > [...]
> > I disagree here, if anything we should keep the semantic states separate,
> > we wouldn't want to have something like "no_shadow" or "no_border" as a
> > semantic state like "maximized" or "fullscreen", do we?
> fullscreen and maximized are shortcut for drawing states:
>  * fullscreen = no_border+no_shadow
>  * maximized = no_shadow+no_maximized_button+reduce_button
> what about activated state, that basically mean draw it as activated ?

No, a window being "active" remains true independently of the compositor running, whereas the "draw states" are a way to negotiate between the compositor and the application which one would be drawing some of the decorations/controls.

A compositor may wish apps to be without drop shadow no matter the state, active, fullscreen, maximized, tiled or other. 

> This is too difficult to draw a line between draw states and "behaviors"
> states, they are linked.

The semantic states imply a well commonly accepted presentation (like fullscreen, all window controls are hidden), but the opposite isn't true, it's impossible to deduce a state from just the presentations flags.

> I think we should think about window state once more :D

I reckon the current states as defined in xdg-shell are commonly understood, established and accepted between environments, I don't see the need to change that.


More information about the wayland-devel mailing list