[weston PATCH v6 1/2] add implementation for set_maximised
spitzak at gmail.com
Wed Feb 8 11:27:43 PST 2012
Pekka Paalanen wrote:
> But is there any way to realise a popup window, like a menu, without
> saying that there is a single parent and the popup is relative to that?
I was assuming the client would know the transform for the parent and
would use it to figure out the transform for the popup. It would then
use the "raise" protocol to make the menu appear atop the parent.
I am a bit worried about conveying any kind of permanent "this is a
child window" information to the compositor. I have found that this
quickly becomes very complex because clients need to change this
information and it is more complex than a simple tree. "tear-off menus"
are an example where they will need the ability to change the parent.
Deleting surfaces also causes a lot of problems.
>> A simple example is the desire to have two "document" windows sharing
>> the *same* set of overlapping "toolbox" windows. Which document is the
>> "master"? What happens if the user wants to close it?
> The toolbox windows would not be child windows of anything. Is there any
> reason they should be children to other windows, like menus are?
> You already sketched the raise protocol, that avoids communicating such
> window relations to the server.
Clients want to initially lay out the toolbox windows in a pattern
around and overlapping the document window. This could be done with a
non-permanent "parent" that is simply used to concatenate transforms and
is then forgotten about.
In fact that is perhaps the correct solution: the "parent" is a
transient piece of information, and is thrown away right after the
configure request. "child" surfaces will not track the parent surface
automatically. But the client can just re-configure all the children at
the same time it reconfigures the parent.
It is also possible Wayland already works this way?
PS: You may also want to consider clients that want to draw the
transformed image directly (to produce better anti-aliasing).
More information about the wayland-devel