The
XSetCloseDownMode
defines what will happen to the clients resources at connection close.
A connection starts in
DestroyAll
mode.
For information on what happens to the clients resources when the
close_mode argument is
RetainPermanent
or
RetainTemporary,
see section 2.6.
XSetCloseDownMode
can generate a
BadValue
error.
The
XKillClient
function
forces a close down of the client
that created the resource
if a valid resource is specified.
If the client has already terminated in
either
RetainPermanent
or
RetainTemporary
mode, all of the clients
resources are destroyed.
If
AllTemporary
is specified, the resources of all clients that have terminated in
RetainTemporary
are destroyed (see section 2.5).
This permits implementation of window manager facilities that aid debugging.
A client can set its close-down mode to
RetainTemporary.
If the client then crashes,
its windows would not be destroyed.
The programmer can then inspect the applications window tree
and use the window manager to destroy the zombie windows.
XKillClient
can generate a
BadValue
error.