void XSetWMProperties(display, w, window_name, icon_name, argv, argc, normal_hints, wm_hints, class_hints)
Display *display;
Window w;
XTextProperty *window_name;
XTextProperty *icon_name;
char **argv;
int argc;
XSizeHints *normal_hints;
XWMHints *wm_hints;
XClassHint *class_hints;
display | Specifies the connection to the X server. |
w | Specifies the window. |
window_name | Specifies the window name, which should be a null-terminated string. |
icon_name | Specifies the icon name, which should be a null-terminated string. |
argv | Specifies the application's argument list. |
argc | Specifies the number of arguments. |
normal_hints | Specifies the size hints for the window in its normal state. |
wm_hints | Specifies the XWMHints structure to be used. |
class_hints | Specifies the XClassHint structure to be used. |
If the window_name argument is non-NULL, XSetWMProperties() calls XSetWMName(), which in turn, sets the WM_NAME property (see "Setting and Reading the WM_NAME Property"). If the icon_name argument is non-NULL, XSetWMProperties() calls XSetWMIconName(), which sets the WM_ICON_NAME property (see "Setting and Reading the WM_ICON_NAME Property"). If the argv argument is non-NULL, XSetWMProperties() calls XSetCommand(), which sets the WM_COMMAND property (see "Setting and Reading the WM_COMMAND Property"). Note that an argc of zero is allowed to indicate a zero-length command. Note also that the hostname of this machine is stored using XSetWMClientMachine() (see "Setting and Reading the WM_CLIENT_MACHINE Property").
If the normal_hints argument is non-NULL, XSetWMProperties() calls XSetWMNormalHints(), which sets the WM_NORMAL_HINTS property (see "Setting and Reading the WM_NORMAL_HINTS Property"). If the wm_hints argument is non-NULL, XSetWMProperties() calls XSetWMHints(), which sets the WM_HINTS property (see "Setting and Reading the WM_HINTS Property").
If the class_hints argument is non-NULL, XSetWMProperties() calls XSetClassHint(), which sets the WM_CLASS property (see "Setting and Reading the WM_CLASS Property"). If the res_name member in the XClassHint structure is set to the NULL pointer and the RESOURCE_NAME environment variable is set, then the value of the environment variable is substituted for res_name. If the res_name member is NULL, the environment variable is not set, and argv and argv[0] are set, then the value of argv[0], stripped of any directory prefixes, is substituted for res_name.
XSetWMProperties() can generate BadAlloc and BadWindow errors.
BadAlloc | The server failed to allocate the requested source or server memory. |
BadWindow | A value for a Window argument does not name a defined Window. |