XSetCommand(3) XLIB FUNCTIONS XSetCommand(3)

# [NAME](#NAME)

XSetCommand, XGetCommand - set or read a window's WM\_COMMAND property

# [SYNTAX](#SYNTAX)

int XSetCommand(Display \**display*, Window *w*, char \*\**argv*, int *argc*);

Status XGetCommand(Display \**display*, Window *w*, char \*\*\**argv\_return*, int \**argc\_return*);

# [ARGUMENTS](#ARGUMENTS)

[*argc*](#argc)

Specifies the number of arguments.

[*argc\_return*](#argc_return)

Returns the number of arguments returned.

[*argv*](#argv)

Specifies the application's argument list.

[*argv\_return*](#argv_return)

Returns the application's argument list.

[*display*](#display)

Specifies the connection to the X server.

[*w*](#w)

Specifies the window.

# [DESCRIPTION](#DESCRIPTION)

The **XSetCommand** function sets the command and arguments used to invoke the application. (Typically, argv is the argv array of your main program.) If the strings are not in the Host Portable Character Encoding, the result is implementation-dependent.

**XSetCommand** can generate **BadAlloc** and **BadWindow** errors.

The **XGetCommand** function reads the WM\_COMMAND property from the specified window and returns a string list. If the WM\_COMMAND property exists, it is of type STRING and format 8. If sufficient memory can be allocated to contain the string list, **XGetCommand** fills in the argv\_return and argc\_return arguments and returns a nonzero status. Otherwise, or if any other error is encountered, it returns a zero status. If the data returned by the server is in the Latin Portable Character Encoding, then the returned strings are in the Host Portable Character Encoding. Otherwise, the result is implementation-dependent. To free the memory allocated to the string list, use **XFreeStringList**.

# [PROPERTIES](#PROPERTIES)

[WM\_COMMAND](#WM_COMMAND)

The command and arguments, null-separated, used to invoke the application.

# [DIAGNOSTICS](#DIAGNOSTICS)

[**BadAlloc**](#BadAlloc)

The server failed to allocate the requested resource or server memory.

[**BadWindow**](#BadWindow)

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

# [SEE ALSO](#SEE_ALSO)

[**XAllocClassHint**(3)](/man/os/libx11/XAllocClassHint.3), [**XAllocIconSize**(3)](/man/os/libx11/XAllocIconSize.3), [**XAllocSizeHints**(3)](/man/os/libx11/XAllocSizeHints.3), [**XAllocWMHints**(3)](/man/os/libx11/XAllocWMHints.3), [**XSetTransientForHint**(3)](/man/os/libx11/XSetTransientForHint.3), [**XSetTextProperty**(3)](/man/os/libx11/XSetTextProperty.3), [**XSetWMClientMachine**(3)](/man/os/libx11/XSetWMClientMachine.3), [**XSetWMColormapWindows**(3)](/man/os/libx11/XSetWMColormapWindows.3), [**XSetWMIconName**(3)](/man/os/libx11/XSetWMIconName.3), [**XSetWMName**(3)](/man/os/libx11/XSetWMName.3), [**XSetWMProperties**(3)](/man/os/libx11/XSetWMProperties.3), [**XSetWMProtocols**(3)](/man/os/libx11/XSetWMProtocols.3), [**XStringListToTextProperty**(3)](/man/os/libx11/XStringListToTextProperty.3)  
*Xlib - C Language X Interface*

libX11 1.8.14 X Version 11

---

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