MirBSD manpage: XAllocSizeHints(3), XGetWMNormalHints(3), XGetWMSizeHints(3), XSetWMNormalHints(3), XSetWMSizeHints(3), XSizeHints(3)


XAllocSizeHints(3X11)    XLIB FUNCTIONS     XAllocSizeHints(3X11)

NAME

     XAllocSizeHints, XSetWMNormalHints, XGetWMNormalHints,
     XSetWMSizeHints, XGetWMSizeHints, XSizeHints - allocate size
     hints structure and set or read a window's WM_NORMAL_HINTS
     property

SYNTAX

     XSizeHints *XAllocSizeHints(void);

     void XSetWMNormalHints(Display *display, Window w,
          XSizeHints *hints);

     Status XGetWMNormalHints(Display *display, Window w,
          XSizeHints *hints_return, long *supplied_return);

     void XSetWMSizeHints(Display *display, Window w, XSizeHints
          *hints, Atom property);

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

ARGUMENTS

     display   Specifies the connection to the X server.

     hints     Specifies the size hints for the window in its
               normal state.

     hints     Specifies the XSizeHints structure to be used.

     hints_return
               Returns the size hints for the window in its nor-
               mal state.

     property  Specifies the property name.

     supplied_return
               Returns the hints that were supplied by the user.

     w         Specifies the window.

DESCRIPTION

     The XAllocSizeHints function allocates and returns a pointer
     to a XSizeHints structure. Note that all fields in the
     XSizeHints structure are initially set to zero. If insuffi-
     cient memory is available, XAllocSizeHints returns NULL. To
     free the memory allocated to this structure, use XFree.

     The XSetWMNormalHints function replaces the size hints for
     the WM_NORMAL_HINTS property on the specified window. If the
     property does not already exist, XSetWMNormalHints sets the
     size hints for the WM_NORMAL_HINTS property on the specified

XFree86                   Version 4.5.0                         1

XAllocSizeHints(3X11)    XLIB FUNCTIONS     XAllocSizeHints(3X11)

     window. The property is stored with a type of WM_SIZE_HINTS
     and a format of 32.

     XSetWMNormalHints can generate BadAlloc and BadWindow
     errors.

     The XGetWMNormalHints function returns the size hints stored
     in the WM_NORMAL_HINTS property on the specified 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, XGetWMNormalHints 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.

     If XGetWMNormalHints 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:

     PBaseSize|PWinGravity

     XGetWMNormalHints can generate a PN BadWindow error.

     The XSetWMSizeHints function replaces the size hints for the
     specified property on the named window. If the specified
     property does not already exist, XSetWMSizeHints sets the
     size hints for the specified property on the named window.
     The property is stored with a type of WM_SIZE_HINTS and a
     format of 32. To set a window's normal size hints, you can
     use the XSetWMNormalHints function.

     XSetWMSizeHints can generate BadAlloc, BadAtom, and BadWin-
     dow errors.

     The XGetWMSizeHints function returns the size hints stored
     in the specified property on the named window. If the pro-
     perty 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

XFree86                   Version 4.5.0                         2

XAllocSizeHints(3X11)    XLIB FUNCTIONS     XAllocSizeHints(3X11)

     get a window's normal size hints, you can use the XGetWMNor-
     malHints 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:

     PBaseSize|PWinGravity

     XGetWMSizeHints can generate BadAtom and BadWindow errors.

PROPERTIES

     WM_NORMAL_HINTS
               Size hints for a window in its normal state. The C
               type of this property is XSizeHints.

STRUCTURES

     The XSizeHints structure contains:

     /* Size hints mask bits */
     #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 and
                                                   max aspect ratios */
     #define   PBaseSize     (1L << 8)
     #define   PWinGravity   (1L << 9)
     #define   PAllHints     (PPosition|PSize|
                             PMinSize|PMaxSize|
                             PResizeInc|PAspect)
     /* Values */

     typedef struct {
          long flags;         /* marks which fields in this structure are defined */
          int x, y;           /* Obsolete */
          int width, height;  /* Obsolete */

XFree86                   Version 4.5.0                         3

XAllocSizeHints(3X11)    XLIB FUNCTIONS     XAllocSizeHints(3X11)

          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;
          /* this structure may be extended in the future */
     } XSizeHints;

     The x, y, width, and height members are now obsolete and are
     left solely for compatibility reasons. The min_width and
     min_height members specify the minimum window size that
     still allows the application to be useful. The max_width and
     max_height members specify the maximum window size. The
     width_inc and height_inc members define an arithmetic pro-
     gression of sizes (minimum to maximum) into which the window
     prefers to be resized. The min_aspect and max_aspect members
     are expressed as ratios of x and y, and they allow an appli-
     cation to specify the range of aspect ratios it prefers. The
     base_width and base_height members define the desired size
     of the window. The window manager will interpret the posi-
     tion of the window and its border width to position the
     point of the outer rectangle of the overall window specified
     by the win_gravity member. The outer rectangle of the window
     includes any borders or decorations supplied by the window
     manager. In other words, if the window manager decides to
     place the window where the client asked, the position on the
     parent window's border named by the win_gravity will be
     placed where the client window would have been placed in the
     absence of a window manager.

     Note that use of the PAllHints macro is highly discouraged.

DIAGNOSTICS

     BadAlloc  The server failed to allocate the requested
               resource or server memory.

     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(3X11), XAllocIconSize(3X11),
     XAllocWMHints(3X11), XFree(3X11), XSetCommand(3X11),
     XSetTransientForHint(3X11), XSetTextProperty(3X11),
     XSetWMClientMachine(3X11), XSetWMColormapWindows(3X11),
     XSetWMIconName(3X11), XSetWMName(3X11),

XFree86                   Version 4.5.0                         4

XAllocSizeHints(3X11)    XLIB FUNCTIONS     XAllocSizeHints(3X11)

     XSetWMProperties(3X11), XSetWMProtocols(3X11),
     XStringListToTextProperty(3X11)
     Xlib - C Language X Interface, O'Reilly and Associates,

XFree86                   Version 4.5.0                         5

Generated on 2021-12-07 11:07:08 by $MirOS: src/scripts/roff2htm,v 1.103 2021/01/23 20:24:35 tg Exp $ — This product includes material provided by mirabilos.

These manual pages and other documentation are copyrighted by their respective writers; their sources are available at the project’s CVSweb, AnonCVS and other mirrors. The rest is Copyright © 2002–2021 MirBSD.

This manual page’s HTML representation is supposed to be valid XHTML/1.1; if not, please send a bug report — diffs preferred.