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