Table of Contents


XSetCommand, XGetCommand - set or read a window's WM_COMMAND property


int XSetCommand(Display *display, Window w, char
**argv, int argc);
Status XGetCommand(Display *display, Window w, char
***argv_return, int *argc_return);


Specifies the number of arguments.

Returns the number of arguments returned.

Specifies the application's argument list.

Returns the application's argument list.

Specifies the connection to the X server.

Specifies the window.


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.


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


The server failed to allocate the requested resource or server memory.
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

Table of Contents