XSetNormalHints()XSetNormalHints()NameXSetNormalHints – set the size hints property of a window in normal
state (not zoomed or iconified).
Synopsis
void XSetNormalHints(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 ID.
hints Specifies a pointer to the sizing hints for the window in its
normal state.
DescriptionXSetNormalHints() has been superseded by XSetWMNormalHints() as of
Release 4.
XSetNormalHints() sets the XA_WM_NORMAL_HINTS property for the speci‐
fied window. Applications use XSetNormalHints() to inform the window
manager of the size or position desirable for that window. In addi‐
tion, an application wanting to move or resize itself should call XSet‐
NormalHints() specifying its new desired location and size, in addition
to making direct X calls to move or resize. This is because some win‐
dow managers may redirect window configuration requests, but ignore the
resulting events and pay attention to property changes instead.
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 on using hints, see Volume One, Chapter 12, Inter‐
client Communication.
Structures
typedef struct {
long flags; /* which fields in structure are defined */
int x, y;
int width, height;
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;
int win_gravity;
} XSizeHints; /* new fields in R4 here */
#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 PBaseSize (1L << 8)
#define PWinGravity (1L << 9)
#define PAllHints (PPosition PSize PMinSize PMaxSize PResizeInc PAspect)
Errors
BadAlloc
BadWindow
See AlsoXFetchName(), XGetClassHint(), XGetIconName(), XGetIconSizes(), XGet‐
NormalHints(), XGetSizeHints(), XGetTransientForHint(), XGetWMHints(),
XGetZoomHints(), XSetClassHint(), XSetCommand(), XSetIconName(), XSetI‐
conSizes(), XSetSizeHints(), XSetTransientForHint(), XSetWMHints(),
XSetZoomHints(), XStoreName().
Xlib - Window Manager Hints XSetNormalHints()