---
name: "XSetCloseDownMode"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XSetCloseDownMode/3x"
---

# XSetCloseDownMode(3x)

control clients

## NAME

XSetCloseDownMode, XKillClient - control clients

## SYNTAX

int XSetCloseDownMode(Display \**display*, int *close\_mode*);

int XKillClient(Display \**display*, XID *resource*);

## ARGUMENTS

- *close\_mode*

  Specifies the client close-down mode. You can pass  *DestroyAll*, *RetainPermanent*, or *RetainTemporary*.

- *display*

  Specifies the connection to the X server.

- *resource*

  Specifies any resource associated with the client that you want to destroy or *AllTemporary*.

## DESCRIPTION

The *XSetCloseDownMode* defines what will happen to the client's resources at connection close. A connection starts in *DestroyAll* mode. For information on what happens to the client's 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 client's 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 application's window tree  and use the window manager to destroy the zombie windows.

*XKillClient* can generate a *BadValue* error.

## DIAGNOSTICS

- *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.

## SEE ALSO

*Xlib - C Language X Interface*
