Status XGetWMSizeHints(display, w, hints_return, supplied_return, property)
      Display *display;
      Window w;
      XSizeHints *hints_return;
      long *supplied_return;
      Atom property;


display Specifies the connection to the X server.
w Specifies the window.
hints_return Returns the XSizeHints structure.
supplied_return Returns the hints that were supplied by the user.
property Specifies the property name.


The XGetWMSizeHints() function returns the size hints stored in the specified property on the named window. If the property is of type WM_SIZE_HINTS, is 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 nonzero status. Otherwise, it returns a zero status. To get a window's normal size hints, you can use the XGetWMNormalHints() function.

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_return argument will also contain the following bits:


XGetWMSizeHints() can generate BadAtom and BadWindow errors.


BadAtom A value for an Atom argument does not name a defined Atom.
BadWindow A value for a Window argument does not name a defined Window.

See also

XAllocClassHint(), XAllocIconSize(), XAllocSizeHints(), XAllocWMHints(), XFree(), XGetWMNormalHints(), XSetCommand(), XSetTextProperty(), XSetTransientForHint(), XSetWMClientMachine(), XSetWMColormapWindows(), XSetWMIconName(), XSetWMName(), XSetWMNormalHints(), XSetWMProperties(), XSetWMProtocols(), XSetWMSizeHints(), XStringListToTextProperty(), "Setting and Reading the WM_NORMAL_HINTS Property".
Christophe Tronche, ch@tronche.com