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