This program is gwm, the Gratuitous Window Manager (for the X Window
System). This release is for gwm-basic, a stripped-down variant which
aims to be more an example of how to implement a window manager using
the XCB library than a fully functional and practical manager.
Features:
* Minimal resource requirements. gwm is very light on CPU and memory
usage. (This is partly because of its modest goals, and partly
because XCB is also very efficient.)
* Almost entirely asynchronous operation. gwm tries very hard to
process events, replies and errors in the order they arrive, not
merely whichever order would be the most convenient (such as
waiting for the reply to a request which has only just been sent).
This is largely a consequence of XCB making this approach much
more feasible than essentially all preceding X client libraries did.
* ICCCM 2.0 compliance.
* Support for multiple screens per display.
Deliberately omitted features:
* Any sophisticated focus model, keyboard/mouse bindings, or
window decorations. Basic placeholder code (focus follows mouse,
simple bindings, and core protocol frame decoration) has been
implemented to indicate where replacements should be made, and
so that basic functionality will work.
* Configuration handling.
* EWMH hints, or any others beyond ICCCM.
* Recognition and support for X extensions. (Actually, the SHAPE
extension will be supported if present: this is partly as an example
of how to handle extensions, and partly because SHAPEd windows
work very badly with reparenting but non-SHAPEd window managers.)
See the SHAPE handling code for a demonstration of how to add
other extensions.
Unforunately omitted features:
* Any sort of documentation. Sorry about that.