some more simplifications of intro comment in dwm.h, this should suffice for comments in dwm a1e9362d
Anselm R. Garbe · 2006-09-12 09:50 1 file(s) · +14 −20
dwm.h +14 −20
5 5
 * dynamic window manager is designed like any other X client as well. It is
6 6
 * driven through handling X events. In contrast to other X clients, a window
7 7
 * manager like dwm selects for SubstructureRedirectMask on the root window, to
8 -
 * receive events about child window appearance and disappearance.  Only one X
8 +
 * receive events about window appearance and disappearance.  Only one X
9 9
 * connection at a time is allowed to select for this event mask.
10 10
 *
11 -
 * Calls to fetch an X event from the event queue of the X connection are
12 -
 * blocking.  Due the fact, that dwm reads status text from standard input, a
13 -
 * select-driven main loop has been implemented which selects for reads on the
14 -
 * X connection and STDIN_FILENO to handle all data smoothly and without
15 -
 * busy-loop quirks. The event handlers of dwm are organized in an array which
16 -
 * is accessed whenever a new event has been fetched. This allows event
17 -
 * dispatching in O(1) time.
11 +
 * Calls to fetch an X event from the X event queue connection are blocking.
12 +
 * Due reading status text from standard input, a select-driven main loop has
13 +
 * been implemented which selects for reads on the X connection and
14 +
 * STDIN_FILENO to handle all data smoothly and without busy-loop quirks. The
15 +
 * event handlers of dwm are organized in an array which is accessed whenever a
16 +
 * new event has been fetched. This allows event dispatching in O(1) time.
18 17
 *
19 -
 * Each child window of the root window is called a client in window manager
20 -
 * terminology, except windows which have set the override_redirect flag.
21 -
 * Clients are organized in a global doubly-linked client list, the focus
22 -
 * history is remembered through a global stack list. Each client contains an
23 -
 * array of Bools of the same size as the global tags array to indicate the
24 -
 * tags of a client. There are no other data structures to organize the clients
25 -
 * in tag lists. All clients which have at least one tag enabled of the current
26 -
 * tags viewed, will be visible on the screen, all other clients are banned to
27 -
 * the x-location x + 2 * screen width.  This avoids having additional layers
28 -
 * of workspace handling.
18 +
 * Each child of the root window is called a client, except windows which have
19 +
 * set the override_redirect flag.  Clients are organized in a global
20 +
 * doubly-linked client list, the focus history is remembered through a global
21 +
 * stack list. Each client contains an array of Bools of the same size as the
22 +
 * global tags array to indicate the tags of a client.  For each client dwm
23 +
 * creates a small title window which is resized whenever the WM_NAME or
24 +
 * _NET_WM_NAME properties are updated or the client is resized.
29 25
 *
30 -
 * For each client dwm creates a small title window which is resized whenever
31 -
 * the WM_NAME or _NET_WM_NAME properties are updated or the client is resized.
32 26
 * Keys and tagging rules are organized as arrays and defined in the config.h
33 27
 * file. These arrays are kept static in event.o and tag.o respectively,
34 28
 * because no other part of dwm needs access to them.  The current mode is