NAME
XGetWMSizeHints − read a window’s XA_WM_SIZE_HINTS property.
Synopsis
Status XGetWMSizeHints(display, w, hints_return, supplied_return, property)
Display *display;
Window w;
XSizeHints *hints_return;
long *supplied_return;
Atom property;
Arguments
displaySpecifies a connection to an X server; returned from XOpenDisplay().
wSpecifies the window.
hints_return
Returns the XSizeHints structure.
supplied_return
Returns the hints that were supplied by the user.
propertySpecifies the property name.
Availability
Release 4 and later.
Description
XGetWMSizeHints() returns the size hints stored in the specified property on the named window. If the property is of type XA_WM_SIZE_HINTS, of format 32, and is long enough to contain either an old (pre-ICCCM) or new size hints structure, XGetWMSizeHints() sets the various fields of the XSizeHints structure, sets the supplied_return argument to the list of fields that were supplied by the user (whether or not they contained defined values), and returns a non-zero status. If the hint was not set, it returns a zero status. To get a window’s normal size hints, you can use the XGetWMNormalHints() function instead. XGetWMSizeHints() supersedes XGetSizeHints(). If XGetWMSizeHints() returns successfully and a pre-ICCCM size hints property is read, the supplied_return argument will contain the following bits:
(USPosition|USSize|PPosition|PSize|PMinSize|PMaxSize|PResizeInc|PAspect)
If the property is large enough to contain the base size and window gravity fields as well, the supplied argument will also contain the following bits:
(PBaseSize|PWinGravity)
This function is used almost exclusively by window managers. For more information, see Volume One, Chapter 10, 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;
Errors
BadAtom
BadWindow
See Also
XAllocSizeHints(), XGetWMNormalHints(), XSetWMNormalHints(), XSetWMSizeHints().
Copyright O’Reilly & Assoc. —