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