Author image Michael Conrad
and 1 contributors


X11::Xlib::XSizeHints - Struct providing window size hints to the Window Manager


The fields of the struct are as follows (from X11 docs)

  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 */

The accessor methods for min_aspect and max_aspect are a special case:


The values for flags are exported with

  use X11::Xlib ':const_sizehint';

and can be an ORed combination of:

  USPosition   /* user specified x, y */
  USSize       /* user specified width, height */
  PPosition    /* program specified position */
  PSize        /* program specified size */
  PMinSize     /* program specified minimum size */
  PMaxSize     /* program specified maximum size */
  PResizeInc   /* program specified resize increments */
  PAspect      /* program specified min and max aspect ratios */
  PBaseSize    /* program specified base for incrementing */
  PWinGravity  /* program specified window gravity */


See parent class X11::Xlib::Struct


Olivier Thauvin, <>

Michael Conrad, <>


Copyright (C) 2009-2010 by Olivier Thauvin

Copyright (C) 2017-2021 by Michael Conrad

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.