9.2 Controlling the Lifetime of a Window
The save-set of a client is a list of other clients' windows that,
if they are inferiors of one of the client's windows at connection close,
should not be destroyed and should be remapped if they are unmapped.
For further information about close-connection processing,
see "X Server Connection Close Operations".
To allow an application's window to survive when a window manager that
has reparented a window fails,
Xlib provides the save-set functions that you can
use to control the longevity of subwindows
that are normally destroyed when the parent is destroyed.
For example, a window manager that wants to add decoration
to a window by adding a frame might reparent an application's
window.
When the frame is destroyed,
the application's window should not be destroyed
but be returned to its previous place in the window hierarchy.
The X server automatically removes windows from the save-set
when they are destroyed.
To add or remove a window from the client's save-set, use
XChangeSaveSet().
To add a window to the client's save-set, use
XAddToSaveSet().
To remove a window from the client's save-set, use
XRemoveFromSaveSet().
Christophe Tronche, ch@tronche.com