minimized and stick windows
Bill Spitzak
spitzak at gmail.com
Wed Jun 12 12:39:28 PDT 2013
>> 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.
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.
Popups are also transient windows (and thus normal windows) but they
have some effects on event delivery when they are first mapped.
More information about the wayland-devel
mailing list