20 |
20 |
21 typedef struct DC DC; |
21 typedef struct DC DC; |
22 typedef struct Client Client; |
22 typedef struct Client Client; |
23 typedef struct Fnt Fnt; |
23 typedef struct Fnt Fnt; |
24 typedef struct Key Key; |
24 typedef struct Key Key; |
|
25 typedef union Arg Arg; |
|
26 |
|
27 union Arg { |
|
28 const char **argv; |
|
29 int i; |
|
30 }; |
25 |
31 |
26 /* atoms */ |
32 /* atoms */ |
27 enum { WMProtocols, WMDelete, WMLast }; |
33 enum { WMProtocols, WMDelete, WMLast }; |
28 enum { NetSupported, NetWMName, NetLast }; |
34 enum { NetSupported, NetWMName, NetLast }; |
29 |
35 |
81 |
87 |
82 extern int tsel, screen, sx, sy, sw, sh, th; |
88 extern int tsel, screen, sx, sy, sw, sh, th; |
83 extern char stext[1024], *tags[TLast]; |
89 extern char stext[1024], *tags[TLast]; |
84 |
90 |
85 extern DC dc; |
91 extern DC dc; |
86 extern Client *clients, *stack; |
92 extern Client *cstart, *cend, *csel; |
87 |
93 |
88 /* client.c */ |
94 /* client.c */ |
89 extern void manage(Window w, XWindowAttributes *wa); |
95 extern void manage(Window w, XWindowAttributes *wa); |
90 extern void unmanage(Client *c); |
96 extern void unmanage(Client *c); |
91 extern Client *getclient(Window w); |
97 extern Client *getclient(Window w); |
95 extern void resize(Client *c); |
101 extern void resize(Client *c); |
96 extern void update_size(Client *c); |
102 extern void update_size(Client *c); |
97 extern Client *gettitle(Window w); |
103 extern Client *gettitle(Window w); |
98 extern void craise(Client *c); |
104 extern void craise(Client *c); |
99 extern void lower(Client *c); |
105 extern void lower(Client *c); |
100 extern void ckill(void *aux); |
106 extern void ckill(Arg *arg); |
101 extern void sel(void *aux); |
107 extern void nextc(Arg *arg); |
102 extern void max(void *aux); |
108 extern void prevc(Arg *arg); |
103 extern void floating(void *aux); |
109 extern void max(Arg *arg); |
104 extern void tiling(void *aux); |
110 extern void floating(Arg *arg); |
|
111 extern void tiling(Arg *arg); |
|
112 void tag(Arg *arg); |
105 extern void gravitate(Client *c, Bool invert); |
113 extern void gravitate(Client *c, Bool invert); |
106 |
114 |
107 /* draw.c */ |
115 /* draw.c */ |
108 extern void draw(Bool border, const char *text); |
116 extern void draw(Bool border, const char *text); |
109 extern unsigned long initcolor(const char *colstr); |
117 extern unsigned long initcolor(const char *colstr); |
123 |
131 |
124 /* main.c */ |
132 /* main.c */ |
125 extern int error_handler(Display *dsply, XErrorEvent *e); |
133 extern int error_handler(Display *dsply, XErrorEvent *e); |
126 extern void send_message(Window w, Atom a, long value); |
134 extern void send_message(Window w, Atom a, long value); |
127 extern int win_proto(Window w); |
135 extern int win_proto(Window w); |
128 extern void quit(void *aux); |
136 extern void quit(Arg *arg); |
129 |
137 |
130 /* util.c */ |
138 /* util.c */ |
131 extern void error(const char *errstr, ...); |
139 extern void error(const char *errstr, ...); |
132 extern void *emallocz(unsigned int size); |
140 extern void *emallocz(unsigned int size); |
133 extern void *emalloc(unsigned int size); |
141 extern void *emalloc(unsigned int size); |
134 extern void *erealloc(void *ptr, unsigned int size); |
142 extern void *erealloc(void *ptr, unsigned int size); |
135 extern char *estrdup(const char *str); |
143 extern char *estrdup(const char *str); |
136 extern void spawn(char *argv[]); |
144 extern void spawn(Arg *arg); |
137 extern void swap(void **p1, void **p2); |
145 extern void swap(void **p1, void **p2); |