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.
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to