XSetWMNormalHints() XSetWMNormalHints()
Name
XSetWMNormalHints - set a window's XA_WM_NORMAL_HINTS property.
Synopsis
void XSetWMNormalHints(display, w, hints)
Display *display;
Window w;
XSizeHints *hints;
Arguments
display Specifies a connection to an X server; returned from XOpenDisplay().
w Specifies the window.
hints Specifies the size hints for the window in its normal state.
Availability
Release 4 and later.
Description
XSetWMNormalHints() sets the size hints in the XA_WM_NORMAL_HINTS property on the specified window. The property is stored with a type of
WM_SIZE_HINTS and a format of 32. XSetWMNormalHints() supersedes XSetNormalHints(). This property can also be set with XSetWMProper-
ties().
Applications use XSetNormalHints() to inform the window manager of the sizes desirable for that window.
To set size hints, an application must assign values to the appropriate elements in the hints structure, and also set the flags field of
the structure to indicate which members have assigned values and the source of the assignment. These flags are listed in the Structures
section below.
For more information, see Volume One, Chapter 12, Interclient Communication.
Structures
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;
#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 */
Errors
BadAlloc
BadWindow
See Also
XGetWMNormalHints(), XSetWMProperties(), XSetWMSizeHints(), XGetWMSizeHints().
Xlib - Window Manager Hints XSetWMNormalHints()