---
name: "XSetCommand"
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/XSetCommand/3x"
---

# XSetCommand(3x)

set or read a window's WM\_COMMAND property

## NAME

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

## SYNTAX

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

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

## ARGUMENTS

- *argc*

  Specifies the number of arguments.

- *argc\_return*

  Returns the number of arguments returned.

- *argv*

  Specifies the application's argument list.

- *argv\_return*

  Returns the application's argument list.

- *display*

  Specifies the connection to the X server.

- *w*

  Specifies the window.

## 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, 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

- WM\_COMMAND

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

## DIAGNOSTICS

- *BadAlloc*

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

- *BadWindow*

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

## SEE ALSO

XAllocClassHint(3X11), XAllocIconSize(3X11), XAllocSizeHints(3X11), XAllocWMHints(3X11), XSetTransientForHint(3X11), XSetTextProperty(3X11), XSetWMClientMachine(3X11), XSetWMColormapWindows(3X11), XSetWMIconName(3X11), XSetWMName(3X11), XSetWMProperties(3X11), XSetWMProtocols(3X11), XStringListToTextProperty(3X11)\
 *Xlib - C Language X Interface*
