| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
If you absolutely must point to a single module and call it PLWM, then
you should direct your attention to wmanager. It contains three
classes which implements the fundamental window managing and provides
the extension framework.
This is the central window manager class. A WindowManager
instance manages the windows on a single display, which is provided as
an argument to the constructor. WindowManager also drives the
event handling loop.
This class takes care of catching client windows so we can manage them.
When a WindowManager instance is created it will create a
Screen instance for each physical screen (monitor) connected to
the display. Normally, an X server only have one screen, but they can
also be multiheaded, i.e. having more than one screen. Each screen
has its own root window, and all windows are therefore local to a
certain screen and cannot move between different screens.
This class manages a single window. Instances are created when the
Screen instance managing the screen detects that a window has
been created. All window operations by extensions should be done using
methods on the Client instance managing that window.
This gives us the following structure: A single WindowManager
instance manages a certain display, by managing one or more Screen
instances which in turn manages a number of Client instances.
These classes have a number of publicly available attributes, listed in the sections below. Of course, all member attributes are available for you, but if you try to stick to the listed attributes and use the methods provided by the classes to manipulate windows your code will stand a better chance of working with future extensions.
The core classes also generates some events which can be useful for mixins. See section 6. Core Events.
4.1 WindowManagerPublic Attributes4.2 ScreenPublic Attributes4.3 ClientPublic Attributes
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |