0
|
1 /*
|
|
2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
|
|
3 * See LICENSE file for license details.
|
|
4 */
|
|
5
|
|
6 #include <X11/Xlib.h>
|
|
7 #include <X11/Xutil.h>
|
|
8
|
|
9 /* WM atoms */
|
|
10 enum { WMState, WMProtocols, WMDelete, WMLast };
|
|
11
|
|
12 /* NET atoms */
|
|
13 enum { NetSupported, NetWMName, NetLast };
|
|
14
|
|
15 /* Cursor */
|
|
16 enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
|
|
17
|
|
18 /* Rects */
|
|
19 enum { RFloat, RGrid, RLast };
|
|
20
|
|
21 typedef struct Client Client;
|
|
22 typedef struct Tag Tag;
|
|
23
|
|
24 struct Client {
|
|
25 Tag *tag;
|
|
26 char name[256];
|
|
27 int proto;
|
|
28 Window win;
|
|
29 Window trans;
|
|
30 Window title;
|
|
31 GC gc;
|
|
32 XSizeHints size;
|
|
33 XRectangle r[RLast];
|
|
34 Client *next;
|
|
35 Client *tnext;
|
|
36 Client *tprev;
|
|
37 };
|
|
38
|
|
39 struct Tag {
|
|
40 char name[256];
|
|
41 Client *clients;
|
|
42 Client *sel;
|
|
43 XRectangle r;
|
|
44 };
|
|
45
|
|
46 extern Display *dpy;
|
|
47 extern Window root;
|
|
48 extern XRectangle rect;
|
|
49 extern int screen, sel_screen;
|
|
50 extern unsigned int kmask, numlock_mask;
|
|
51 extern Atom wm_atom[WMLast];
|
|
52 extern Atom net_atom[NetLast];
|
|
53 extern Cursor cursor[CurLast];
|
|
54 extern Pixmap pmap;
|
|
55
|
|
56 /* wm.c */
|
|
57 extern void error(char *errstr, ...);
|