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);