XSetWMProperties()XSetWMProperties()NameXSetWMProperties – set a window's standard window manager properties.
Synopsis
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;
Arguments
display Specifies a connection to an X server; returned from
XOpenDisplay().
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.
Availability
Release 4 and later.
DescriptionXSetWMProperties() provides a single programming interface for setting
the essential window properties that communicate with window and ses‐
sion managers. XSetWMProperties() supersedes XSetStandardProperties().
If the window_name argument is non-null, XSetWMProperties() calls
XSetWMName(), which, in turn, sets the WM_NAME property. If the
icon_name argument is non-null, XSetWMProperties() calls XSetWMIcon‐
Name(), which sets the WM_ICON_NAME property. If the argv argument is
non-null, XSetWMProperties() calls XSetCommand(), which sets the
WM_COMMAND property. Note that an argc of 0 is allowed to indicate a
zero-length command. XSetWMProperties() stores the hostname of this
machine using XSetWMClientMachine().
If the normal_hints argument is non-null, XSetWMProperties() calls
XSetWMNormalHints(), which sets the WM_NORMAL_HINTS property. If the
wm_hints argument is non-null, XSetWMProperties() calls XSetWMHints(),
which sets the WM_HINTS property.
If the class_hints argument is non-null, XSetWMProperties() calls XSet‐
ClassHint(), which sets 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 value of the environ‐
ment variable is substituted for res_name. If the res_name member is
NULL, and if the environment variable is not set, and if argv and
argv[0] are set, then the value of argv[0], stripped of any directory
prefixes, is substituted for res_name.
For more information, see Volume One, Chapter 12, Interclient Communi‐
cation.
Structures
typedef struct {
unsigned char *value; /* same as Property routines */
Atom encoding; /* prop type */
int format; /* prop data format: 8, 16, or 32 */
unsigned long nitems; /* number of data items in value */
} XTextProperty;
typedef struct {
long flags; /* marks which fields in this structure */
/* are defined */
int x, y; /* obsolete for new window mgrs, but clients */
int width, height; /* should set so old wm's don't mess up */
int min_width, min_height;
int max_width, max_height;
int width_inc, height_inc;
struct {
int x; /* numerator */
int y; /* denominator */
} min_aspect, max_aspect;
int base_width, base_height; /* added by ICCCM version 1 */
int win_gravity; /* added by ICCCM version 1 */
} XSizeHints;
/* flags argument in size hints */
#define USPosition (1L << 0) /* user specified x, y */
#define USSize (1L << 1) /* user specified width, height */
#define PPosition (1L << 2) /* program specified position */
#define PSize (1L << 3) /* program specified size */
#define PMinSize (1L << 4) /* program specified minimum size */
#define PMaxSize (1L << 5) /* program specified maximum size */
#define PResizeInc (1L << 6) /* program specified resize increments */
#define PAspect (1L << 7) /* program specified min/max aspect ratios */
#define PAllHints (PPosition PSize PMinSize PMaxSize PResizeInc PAspect)
#define PBaseSize (1L << 8) /* program specified base for incrementing */
#define PWinGravity (1L << 9) /* program specified window gravity */
typedef struct {
long flags; /* marks which fields in this structure */
/* are defined */
Bool input; /* does this application rely on the window */
/* manager to get keyboard input? */
int initial_state; /* see below */
Pixmap icon_pixmap; /* pixmap to be used as icon */
Window icon_window; /* window to be used as icon */
int icon_x, icon_y; /* initial position of icon */
Pixmap icon_mask; /* icon mask bitmap */
XID window_group; /* id of related window group */
/* this structure may be extended in the future */
} XWMHints;
#define InputHint (1L << 0)
#define StateHint (1L << 1)
#define IconPixmapHint (1L << 2)
#define IconWindowHint (1L << 3)
#define IconPositionHint (1L << 4)
#define IconMaskHint (1L << 5)
#define WindowGroupHint (1L << 6)
#define AllHints (InputHint StateHint IconPixmapHint IconWindowHint IconPositionHint IconMaskHint WindowGroupHint)
#define PBaseSize (1L << 8) /* program specified base for incrementing */
#define PWinGravity (1L << 9) /* program specified window gravity */
typedef struct {
char *res_name;
char *res_class;
} XClassHint;
Errors
BadAlloc
BadWindow
See AlsoXGetClassHint(), XGetCommand(), XGetWMHints(), XGetWMIconName(),
XGetWMName(), XGetWMNormalHints(), XSetWMClientMachine(), XSetWMCol‐
ormapWindows(), XSetWMProtocols().
Xlib - Window Manager Hints XSetWMProperties()