aewl

view wm.h @ 0:491f34c11291

initial import
author Anselm R. Garbe <garbeam@wmii.de>
date Mon, 10 Jul 2006 16:38:18 +0200
parents
children a79188fe4a40
line source
1 /*
2 * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
3 * See LICENSE file for license details.
4 */
6 #include <X11/Xlib.h>
7 #include <X11/Xutil.h>
9 /* WM atoms */
10 enum { WMState, WMProtocols, WMDelete, WMLast };
12 /* NET atoms */
13 enum { NetSupported, NetWMName, NetLast };
15 /* Cursor */
16 enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
18 /* Rects */
19 enum { RFloat, RGrid, RLast };
21 typedef struct Client Client;
22 typedef struct Tag Tag;
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 };
39 struct Tag {
40 char name[256];
41 Client *clients;
42 Client *sel;
43 XRectangle r;
44 };
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;
56 /* wm.c */
57 extern void error(char *errstr, ...);