Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ XAllocSizeHints(3X11) — mips 4.00

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XAllocClassHint(3X11)

XAllocIconSize(3X11)

XAllocWMHints(3X11)

XFree(3X11)

XSetCommand(3X11)

XSetTransientForHint(3X11)

XSetTextProperty(3X11)

XSetWMClientMachine(3X11)

XSetWMColormapWindows(3X11)

XSetWMIconName(3X11)

XSetWMName(3X11)

XSetWMProperties(3X11)

XSetWMProtocols(3X11)

XStringListToTextProperty(3X11)



XAllocSizeHints(3X11)RISC/os Reference ManuaXAllocSizeHints(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 XSetWMNormalHints(display, w, hints)
           Display *display;
           Window w;
           XSizeHints *hints;

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

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

     Status XGetWMSizeHints(display, w, hints_return,
     supplied_return, property)
           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.




                         Printed 1/24/91         Release 4 Page 1





XAllocSizeHints(3X11)RISC/os Reference ManuaXAllocSizeHints(3X11)



     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 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, 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 argu-
     ment to the list of fields that were supplied by the user
     (whether or not they contained defined values) and returns a
     non-zero 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.




Release 4 Page 2         Printed 1/24/91





XAllocSizeHints(3X11)RISC/os Reference ManuaXAllocSizeHints(3X11)



     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, 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.  Otherwise, it returns a zero status.  To
     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 <<    /* user specified x, y */
                                 0)
    #define   USSize            (1L <<    /* user specified width, height
                                1)        */
   #define   PPosition         (1L <<    /* program specified position */
                               2)
  #define   PSize             (1L <<    /* program specified size */
                              3)
 #define   PMinSize          (1L <<    /* program specified minimum
                             4)        size */
#define





                         Printed 1/24/91         Release 4 Page 3





XAllocSizeHints(3X11)RISC/os Reference ManuaXAllocSizeHints(3X11)



          PMaxSize
















































                            (1L <<    /* program specified maximum





Release 4 Page 4         Printed 1/24/91





XAllocSizeHints(3X11)RISC/os Reference ManuaXAllocSizeHints(3X11)



                            5)        size */
#define   PResizeInc        (1L <<    /* program specified resize
                            6)        increments */
#define   PAspect           (1L <<    /* program specified min and max
                            7)        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 */
          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;

     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 application to specify the range of aspect ratios it
     prefers.  The base_width and base_height members define the
     desired size of the window.  The win_gravity member defines
     the region of the window that is to be retained when it is
     resized.

     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.




                         Printed 1/24/91         Release 4 Page 5





XAllocSizeHints(3X11)RISC/os Reference ManuaXAllocSizeHints(3X11)



     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),
     XSetWMProperties(3X11), XSetWMProtocols(3X11),
     XStringListToTextProperty(3X11)
     Xlib - C Language X Interface











































Release 4 Page 6         Printed 1/24/91



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