Programmatic resizing can be done using the function
. For example, to double the width of an interface about its center:
(setf interface (contain (make-instance 'interface)))
Use the mouse or window manager-specific gesture to resize the interface, then evaluate:
(multiple-value-bind (x y w h)
:x (round (- x (* 0.5 w)))
:width (* 2 w)
All resize operations are subject to the constraints. The constraints can be altered programmatically as described in Changing the constraints.