[PATCH] xdg-shell: add draw states for xdg_surface
Benoit Gschwind
gschwind at gnu-log.net
Tue Jun 7 09:34:14 UTC 2016
Hello Olivier,
On 07/06/2016 11:15, Olivier Fourdan wrote:
> 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.
are we reading the same specification? citation: (xdg-shell-unstable-v6.xml)
<entry name="activated" value="4" summary="the surface is now activated">
<description summary="the surface is now activated">
Client window decorations should be painted as if the window is
active. Do not assume this means that the window actually has
keyboard or pointer focus.
</description>
</entry>
The active state is a state that the compositor choose, and they do not
remain if there is no compositor.
>
> A compositor may wish apps to be without drop shadow no matter the state, active, fullscreen, maximized, tiled or other.
>
The state activated can be applied to fullscreen, maximized or tiled,
exactly as without_shadow.
>> 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.
Which level of complexity have to be a semantic state to be a /semantic
state/: see activated state above.
>> 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.
>
Same here, I do not want change current states, just add some.
I prefer this than using a work-around to avoid decision policy.
> Cheers,
> Olivier
>
Best regards
--
Benoit Gschwind
More information about the wayland-devel
mailing list