Add support for the zoomed state to managed windows.
[gwm.git] / README
blob685f0c35564ee6ee0338c740b61b7a5f9fceb53a
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.
6 Features:
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
40    other extensions.
42 Unforunately omitted features:
44  * Any sort of documentation.  Sorry about that.