xdg shell status and gaps
Bill Spitzak
spitzak at gmail.com
Thu Sep 25 23:35:55 PDT 2014
On 09/25/2014 03:04 PM, Jasper St. Pierre wrote:
> You mean like the existing set_parent request that has been there since
> xdg-shell has landed?
>
> http://cgit.freedesktop.org/wayland/weston/tree/protocol/xdg-shell.xml#n140
Yes except it needs a guarantee about what happens when you change
parents. Currently I think it will have to do nothing until the new
parent or the child is raised or mapped or unmapped. The goal is that
the client can switch between two arbitrary stackings of arbitrary sets
of surfaces with no "blinking": every pixel on the screen transitions
exactly once.
For instance setting the parent cannot immediately raise the child
because the client may add yet another child above that one. That would
cause two transitions: first from whatever overlaid the first child to
that child, then from it to the new child.
I have not been able to prove it to myself, but it is possible that
immediate raises will be allowable as long as the client follows some
rules about the order it sets the parents (in the above example it sets
the highest child's parent first). Lowering of windows is definitely
out, though.
It is also a requirement that the client can defer window raising until
after it has been able to create and set all the child windows wanted. I
think preventing window raises entirely is also useful for drag & drop
sources and just to make overlapping windows useful, so I also want
clients to be able to refuse to raise.
More information about the wayland-devel
mailing list