Suggesting a Size and Shape for the Window

There are many possible ways to suggest to a window manager the screen size and position of your window. First, you may specify two separate sets of size and position hints. The normal size hints are specified by the attribute

     
     property('WM_NORMAL_HINTS',Hints)
     

The zoomed size hints, that is, the large or full screen size hints, are specified by the attribute

     property('WM_ZOOM_HINTS',Hints)
     

In both cases, the Hints specified should be a term of the form

     wm_size_hints(Position,Size,Min_size,Max_size,Resize_inc,Aspect)
     
The meaning of the arguments of the wm_size_hints/6 term is as follows:

Argument
Meaning
Position
Specifies the window's position. It may be either:

none
No hint is being made about the window's position.
user_position(X,Y)
This means that position (X,Y) is suggested, and that the suggestion comes from the user.
program_position(X,Y)
This means that position (X,Y) is suggested, and that the suggestion comes from the program.

Size
Specifies the window's size. It may be either:

none
meaning that no hint is being made about the window's size.
user_size(W,H)
W by H is the suggested size, and the suggestion comes from the user.
program_size(W,H)
W by H is the suggested size, and the suggestion comes from the program.

Min_size
Specifies the minimum suggested size for the window. The window manager may choose to make the window smaller than this, if it likes. This may be either:

none
No hint is being made about the window's minimum size.
size(W,H)
W by H is the suggested minimum size.

Max_size
Specifies the maximum suggested size for the window. The window manager may choose to make the window larger than this, if it likes. This may be either:

none
No hint is being made about the window's maximum size.
size(W,H)
W by H is the suggested maximum size.

Resize_inc
Specifies the increments in which your application would like the window to be resized. This may be either:

none
No hint is being made about the window's resize increment.
size(W,H)
The window should be made wider or narrower in W pixel increments and taller or shorter in H pixel increments.

Aspect
Specifies the minimum and maximum aspect ratio you would like the window to have. This may be either:

none
No hint is being made about the window's aspect ratio.
Min-Max
The window's aspect ratio should be between Min and Max. Min and Max should be (possibly floating point) numbers specifying the ratio of width to height.

You may specify as many or as few of these arguments as you like, using none to avoid specifying a value.