XSetZoomHints() XSetZoomHints()
Name
XSetZoomHints - set the size hints property of a zoomed window.
Synopsis
XSetZoomHints(display, w, zhints)
Display *display;
Window w;
XSizeHints *zhints;
Arguments
display Specifies a connection to an X server; returned from XOpenDisplay().
w Specifies the ID of the window for which zoom hints are to be set.
zhints Specifies a pointer to the zoom hints.
Description
XSetZoomHints() is no longer used as of Release 3.
XSetZoomHints() sets the XA_WM_ZOOM_HINTS property for an application's top-level window in its zoomed state. Many window managers think
of windows in three states: iconified, normal, or zoomed, corresponding to small, medium, and large. Applications use XSetZoomHints() to
inform the window manager of the size or position desirable for the zoomed window.
In addition, an application wanting to move or resize its zoomed window should call XSetZoomHints() specifying its new desired location and
size, in addition to making direct X calls to move or resize. This is because some window managers may redirect window configuration
requests, but ignore the resulting events and pay attention to property changes instead.
To set size hints, an application must assign values to the appropriate elements in the hints structure, and set the flags field of the
structure to indicate which members have assigned values and the source of the assignment. These flags are listed in the Structures sec-
tion below.
For more information on using hints, see Volume One, Chapter 12, Interclient Communication.
Structures
typedef struct {
long flags; /* marks defined fields in structure */
int x, y;
int width, height;
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;
/* flags argument in size hints */
#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/max aspect ratios */
#define PAllHints (PPosition PSize PMinSize PMaxSize PResizeInc PAspect)
#define PBaseSize (1L << 8)
#define WinGravity (1L << a)
Errors
BadAlloc
BadWindow
See Also
XFetchName(), XGetClassHint(), XGetIconName(), XGetIconSizes(), XGetNormalHints(), XGetSizeHints(), XGetTransientForHint(), XGetWMHints(),
XGetZoomHints(), XSetClassHint(), XSetCommand(), XSetIconName(), XSetIconSizes(), XSetNormalHints(), XSetSizeHints(), XSetTransient-
ForHint(), XSetWMHints(), XStoreName().
Xlib - Window Manager Hints XSetZoomHints()