XSetCommand(), XGetCommand() - set or read a window's WM_COMMAND property
XSetCommand (Display *display, Window w, char **argv, int argc)
Status XGetCommand (Display *display, Window w,
char ***argv_return, int *argc_return)
The XSetCommand(3) 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(3) can generate BadAlloc and BadWindow errors.
The XGetCommand(3) 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(3) 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(3).
Xlib