On 12/06/2013 21:39, Bill Spitzak wrote:
Shell surface types, exclusive: - top-level - transient (umm,
what was this for, again?) - popup (menu?)
Transcient is for dialog (modal?) boxes, isn’t it?
It means "this window stays above another one".
Transient cannot be a type, but instead a state of a surface. It has
to be done by setting a "parent surface" which means that the
compositor keeps the surface above the parent. It does not imply
anything else, in particular the client decides whether either
surface is currently visible.
It can be a type as long as we allow type switching. Regarding the types
we more or less agreed on already, thas sounds sensible to me.
The client has to be able to arbitrarily rearrange the parent
pointers. This means it can set them to null (since otherwise it is
not possible to get all rearrangements if the compositor rejects any
attempts that make a loop). Therefore a "transient surface" can
become a "main surface" and thus they must be the same object.
This is a requirement so that non-trivial clients can be written
that are not forced to blink the transient windows to change their
parenting.
Do you have a use case for this scenario ? There are probably some I
cannot see, but maybe could we solve them another way.
Popups are also transient windows (and thus normal windows) but they
have some effects on event delivery when they are first mapped.
Same question, do you have a use case for a popup surface that you would
reparent? For our current use case (menus, do we have another one?) this
is unlikely (afaict, I am not a toolkit guy).
Thanks,
--
Quentin “Sardem FF7” Glidic
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel