XIconifyWindow(3) XLIB FUNCTIONS XIconifyWindow(3)

# [NAME](#NAME)

XIconifyWindow, XWithdrawWindow, XReconfigureWMWindow - manipulate top-level windows

# [SYNTAX](#SYNTAX)

Status XIconifyWindow(Display \**display*, Window *w*, int *screen\_number*);

Status XWithdrawWindow(Display \**display*, Window *w*, int *screen\_number*);

Status XReconfigureWMWindow(Display \**display*, Window *w*, int *screen\_number*, unsigned int *value\_mask*, XWindowChanges \**values*);

# [ARGUMENTS](#ARGUMENTS)

[*display*](#display)

Specifies the connection to the X server.

[*screen\_number*](#screen_number)

Specifies the appropriate screen number on the host server.

[*value\_mask*](#value_mask)

Specifies which values are to be set using information in the values structure. This mask is the bitwise inclusive OR of the valid configure window values bits.

[*values*](#values)

Specifies the **XWindowChanges** structure.

[*w*](#w)

Specifies the window.

# [DESCRIPTION](#DESCRIPTION)

The **XIconifyWindow** function sends a WM\_CHANGE\_STATE **ClientMessage** event with a format of 32 and a first data element of **IconicState** (as described in section 4.1.4 of the *Inter-Client Communication Conventions Manual*) and a window of w to the root window of the specified screen with an event mask set to **SubstructureNotifyMask**| **SubstructureRedirectMask**. Window managers may elect to receive this message and if the window is in its normal state, may treat it as a request to change the window's state from normal to iconic. If the WM\_CHANGE\_STATE property cannot be interned, **XIconifyWindow** does not send a message and returns a zero status. It returns a nonzero status if the client message is sent successfully; otherwise, it returns a zero status.

The **XWithdrawWindow** function unmaps the specified window and sends a synthetic **UnmapNotify** event to the root window of the specified screen. Window managers may elect to receive this message and may treat it as a request to change the window's state to withdrawn. When a window is in the withdrawn state, neither its normal nor its iconic representations is visible. It returns a nonzero status if the **UnmapNotify** event is successfully sent; otherwise, it returns a zero status.

**XWithdrawWindow** can generate a **BadWindow** error.

The **XReconfigureWMWindow** function issues a **ConfigureWindow** request on the specified top-level window. If the stacking mode is changed and the request fails with a **BadMatch** error, the error is trapped by Xlib and a synthetic **ConfigureRequestEvent** containing the same configuration parameters is sent to the root of the specified window. Window managers may elect to receive this event and treat it as a request to reconfigure the indicated window. It returns a nonzero status if the request or event is successfully sent; otherwise, it returns a zero status.

**XReconfigureWMWindow** can generate **BadValue** and **BadWindow** errors.

# [DIAGNOSTICS](#DIAGNOSTICS)

[**BadValue**](#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.

[**BadWindow**](#BadWindow)

A value for a Window argument does not name a defined Window.

# [SEE ALSO](#SEE_ALSO)

[**XChangeWindowAttributes**(3)](/man/os/libx11/XChangeWindowAttributes.3), [**XConfigureWindow**(3)](/man/os/libx11/XConfigureWindow.3), [**XCreateWindow**(3)](/man/os/libx11/XCreateWindow.3), [**XDestroyWindow**(3)](/man/os/libx11/XDestroyWindow.3), [**XRaiseWindow**(3)](/man/os/libx11/XRaiseWindow.3), [**XMapWindow**(3)](/man/os/libx11/XMapWindow.3), [**XUnmapWindow**(3)](/man/os/libx11/XUnmapWindow.3)  
*Xlib - C Language X Interface*

libX11 1.8.14 X Version 11

---

Document: XIconifyWindow(3) from libx11 1.8.14-r3 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
