aewl

view wm.h @ 7:49e2fc9fb94f

new stuff
author Anselm R. Garbe <garbeam@wmii.de>
date Tue, 11 Jul 2006 11:27:56 +0200
parents e0cefb3981c8
children 7066ff2fe8bc
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 "config.h"
7 #include "draw.h"
8 #include "util.h"
10 #include <X11/Xutil.h>
12 /* atoms */
13 enum { WMState, WMProtocols, WMDelete, WMLast };
14 enum { NetSupported, NetWMName, NetLast };
16 /* cursor */
17 enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
19 /* rects */
20 enum { RFloat, RGrid, RLast };
22 typedef struct Client Client;
24 struct Client {
25 char name[256];
26 char tag[256];
27 int proto;
28 unsigned int border;
29 Bool fixedsize;
30 Window win;
31 Window trans;
32 Window title;
33 XSizeHints size;
34 XRectangle r[RLast];
35 Client *next;
36 Client *snext;
37 };
39 extern Display *dpy;
40 extern Window root, barwin;
41 extern Atom wm_atom[WMLast], net_atom[NetLast];
42 extern Cursor cursor[CurLast];
43 extern XRectangle rect, barrect;
44 extern Bool running;
45 extern Bool grid;
46 extern void (*handler[LASTEvent]) (XEvent *);
48 extern int screen, sel_screen;
49 extern unsigned int lock_mask, numlock_mask;
50 extern char *bartext, tag[256];
52 extern Brush brush;
53 extern Client *client;
55 /* bar.c */
56 extern void draw_bar();
58 /* client.c */
59 extern Client *create_client(Window w, XWindowAttributes *wa);
60 extern void manage(Client *c);
62 /* wm.c */
63 extern int win_proto(Window w);