Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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.  —  

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026