XSetCloseDownMode, XKillClient - control clients


int XSetCloseDownMode(Display *display, int close_mode); int XKillClient(Display *display, XID resource);


close_mode 1i Specifies the client close-down mode. You can pass .ZN DestroyAll , .ZN RetainPermanent , or .ZN RetainTemporary .

display 1i Specifies the connection to the X server.

resource 1i Specifies any resource associated with the client that you want to destroy or .ZN AllTemporary .


The .ZN XSetCloseDownMode defines what will happen to the client's resources at connection close. A connection starts in .ZN DestroyAll mode. For information on what happens to the client's resources when the close_mode argument is .ZN RetainPermanent or .ZN RetainTemporary , see section 2.6.

.ZN XSetCloseDownMode can generate a .ZN BadValue error.

The .ZN 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 .ZN RetainPermanent or .ZN RetainTemporary mode, all of the client's resources are destroyed. If .ZN AllTemporary is specified, the resources of all clients that have terminated in .ZN 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 .ZN RetainTemporary . If the client then crashes, its windows would not be destroyed. The programmer can then inspect the application's window tree and use the window manager to destroy the zombie windows.

.ZN XKillClient can generate a .ZN BadValue error.


  • .ZN BadValue
     Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error.