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