Screen-shots:
Links:
© 2004,
Hyriand
The OmegaWM Goals
Goals:
Hmm.. Goals.. I dunno, we'll see.. For now: "create a window
manager for the X11 windowing system that is ICCCM compliant".
After that, I'll probably add FreeDesktop.org's WM specifications
(stuff like desktops, window roles, etc).
Design:
OmegaWM is divided into several parts:
The 'core' WM
Theme engines
The core is divided into several elements as well:
'main': Launch a thread running a WM for each available
screen on a display
'WM': A window manager that a single screen, it monitors
important changes on the root window (new windows, etc) and directs
what happens after such changes.
'Child': A container which holds / manipulates / monitors
'child' windows. The actual application windows.
'Frame': A container which holds (currently) one child.
manipulations that come from the WM should be directed at this
frame, and the frame will instruct its child what to do. The frame
also communicates with the theme engine for the visual
aspect.
Several helper classes that provide common functionality
like an atom store, size properties (including min/max/base size
and fixed size increments), a thread safe Xlib error mananger which
trampolines X errors into the appriopriate function, and a generic window class that describes a window in X11.
