This module provides functionality for moving and resizing windows. The
core functionality is implemented by the abstract base class
MoveResize. It is subclassed by the two classes
MoveResizeOutline which resizes
windows by changing the window size, and by drawing an outline of the
new size, respectivelly. The latter requires the
See the code for details on these classes.
Most resizing will be done via key handlers, so a template key handler class is provides that simplifies writing your own moving and resizing keyhandler for the currently focused client:
MoveResizeKeys contains methods for the various move and resize
operations. Is should be subclassed, and in the subclass key binding
method names should be assigned to the general methods.
There are 24 general methods:
|_move_X||Move the client in direction X|
|_enlarge_X||Enlarge the client in direction X|
|_shrink_X||Shrink the client from direction X|
The direction is one of eight combinations of the four cardinal points: e, ne, n, nw, w, sw, s and se.
Additionally theres two methods for finishing the moveresize:
|_moveresize_end||Finish, actually moving and resizing the client|
|_moveresize_abort||Abort, leaving client with its old geometry|
By default outline moveresizing is used with the
MoveResizeOutline class. This can be changed by redefining the
_moveresize_class to any subclass of
MoveResizeKeys subclass example:
class MyMRKeys(MoveResizeKeys): _moveresize_class = MoveResizeOpaque KP_Left = MoveResizeKeys._move_w KP_Right = MoveResizeKeys._move_e KP_Up = MoveResizeKeys._move_n KP_Down = MoveResizeKeys._move_s KP_Begin = MoveResizeKeys._moveresize_end Escape = MoveResizeKeys._moveresize_abort
This would be invoked like this in a keyhandler event method in your basic keyhandler:
def KP_Begin(self, evt): MyMRKeys(self, evt)
MoveResize generates events during operation. The
attribute for all these are the event class, and the
attribute is the affected client.
MoveResizeStart is generated when the moveresize is started,
MoveResizeEnd when it ends and the window geometry is changed,
MoveResizeEnd when it is aborted and the window geometry is
MoveResizeDo is generated for each change in window geometry
during moveresize. It has four attributes denoting the current
Go to the first, previous, next, last section, table of contents.