Mercurial > aewl
comparison wm.h @ 13:5cc5e55a132d
added protocol killing stuff
author | Anselm R. Garbe <garbeam@wmii.de> |
---|---|
date | Tue, 11 Jul 2006 16:14:22 +0200 |
parents | 703255003abb |
children | 5c078b66347b |
comparison
equal
deleted
inserted
replaced
12:a2b399582afe | 13:5cc5e55a132d |
---|---|
7 #include "draw.h" | 7 #include "draw.h" |
8 #include "util.h" | 8 #include "util.h" |
9 | 9 |
10 #include <X11/Xutil.h> | 10 #include <X11/Xutil.h> |
11 | 11 |
12 #define WM_PROTOCOL_DELWIN 1 | |
13 | |
12 /* atoms */ | 14 /* atoms */ |
15 enum { WMProtocols, WMDelete, WMLast }; | |
13 enum { NetSupported, NetWMName, NetLast }; | 16 enum { NetSupported, NetWMName, NetLast }; |
14 | 17 |
15 /* cursor */ | 18 /* cursor */ |
16 enum { CurNormal, CurResize, CurMove, CurInput, CurLast }; | 19 enum { CurNormal, CurResize, CurMove, CurInput, CurLast }; |
17 | 20 |
23 | 26 |
24 struct Client { | 27 struct Client { |
25 char name[256]; | 28 char name[256]; |
26 char tag[256]; | 29 char tag[256]; |
27 unsigned int border; | 30 unsigned int border; |
31 int proto; | |
28 Bool fixedsize; | 32 Bool fixedsize; |
29 Window win; | 33 Window win; |
30 Window trans; | 34 Window trans; |
31 Window title; | 35 Window title; |
32 XSizeHints size; | 36 XSizeHints size; |
42 char *arg; | 46 char *arg; |
43 }; | 47 }; |
44 | 48 |
45 extern Display *dpy; | 49 extern Display *dpy; |
46 extern Window root, barwin; | 50 extern Window root, barwin; |
47 extern Atom net_atom[NetLast]; | 51 extern Atom wm_atom[WMLast], net_atom[NetLast]; |
48 extern Cursor cursor[CurLast]; | 52 extern Cursor cursor[CurLast]; |
49 extern XRectangle rect, barrect; | 53 extern XRectangle rect, barrect; |
50 extern Bool running; | 54 extern Bool running, sel_screen, grid; |
51 extern Bool grid; | |
52 extern void (*handler[LASTEvent]) (XEvent *); | 55 extern void (*handler[LASTEvent]) (XEvent *); |
53 | 56 |
54 extern int screen, sel_screen; | 57 extern int screen; |
55 extern char *bartext, tag[256]; | 58 extern char *bartext, tag[256]; |
56 | 59 |
57 extern Brush brush; | 60 extern Brush brush; |
58 extern Client *clients; | 61 extern Client *clients, *stack; |
59 | 62 |
60 /* bar.c */ | 63 /* bar.c */ |
61 extern void draw_bar(); | 64 extern void draw_bar(); |
62 | 65 |
63 /* cmd.c */ | 66 /* cmd.c */ |
64 extern void run(char *arg); | 67 extern void run(char *arg); |
65 extern void quit(char *arg); | 68 extern void quit(char *arg); |
66 | 69 |
67 /* client.c */ | 70 /* client.c */ |
68 extern void manage(Window w, XWindowAttributes *wa); | 71 extern void manage(Window w, XWindowAttributes *wa); |
69 void unmanage(Client *c); | 72 extern void unmanage(Client *c); |
70 extern Client * getclient(Window w); | 73 extern Client *getclient(Window w); |
74 extern void focus(Client *c); | |
75 extern void update_name(Client *c); | |
76 | |
77 /* event.c */ | |
78 extern unsigned int flush_events(long even_mask); | |
71 | 79 |
72 /* key.c */ | 80 /* key.c */ |
73 extern void update_keys(); | 81 extern void update_keys(); |
74 extern void keypress(XEvent *e); | 82 extern void keypress(XEvent *e); |
75 | 83 |
76 /* wm.c */ | 84 /* wm.c */ |
77 extern int error_handler(Display *dpy, XErrorEvent *error); | 85 extern int error_handler(Display *dpy, XErrorEvent *error); |
86 extern void send_message(Window w, Atom a, long value); | |
87 extern int win_proto(Window w); |