equal
deleted
inserted
replaced
16 #include <X11/Xproto.h> |
16 #include <X11/Xproto.h> |
17 |
17 |
18 /* static */ |
18 /* static */ |
19 |
19 |
20 static int (*xerrorxlib)(Display *, XErrorEvent *); |
20 static int (*xerrorxlib)(Display *, XErrorEvent *); |
21 static Bool otherwm; |
21 static Bool otherwm, readin; |
22 |
22 |
23 static void |
23 static void |
24 cleanup() |
24 cleanup() |
25 { |
25 { |
|
26 close(STDIN_FILENO); |
26 while(sel) { |
27 while(sel) { |
27 resize(sel, True, TopLeft); |
28 resize(sel, True, TopLeft); |
28 unmanage(sel); |
29 unmanage(sel); |
29 } |
30 } |
30 if(dc.font.set) |
31 if(dc.font.set) |
144 } |
145 } |
145 |
146 |
146 void |
147 void |
147 quit(Arg *arg) |
148 quit(Arg *arg) |
148 { |
149 { |
149 running = False; |
150 readin = running = False; |
150 } |
151 } |
151 |
152 |
152 /* |
153 /* |
153 * There's no way to check accesses to destroyed windows, thus those cases are |
154 * There's no way to check accesses to destroyed windows, thus those cases are |
154 * ignored (especially on UnmapNotify's). Other types of errors call Xlibs |
155 * ignored (especially on UnmapNotify's). Other types of errors call Xlibs |
174 main(int argc, char *argv[]) |
175 main(int argc, char *argv[]) |
175 { |
176 { |
176 int i, j, xfd; |
177 int i, j, xfd; |
177 unsigned int mask; |
178 unsigned int mask; |
178 fd_set rd; |
179 fd_set rd; |
179 Bool readin = True; |
|
180 Window w; |
180 Window w; |
181 XModifierKeymap *modmap; |
181 XModifierKeymap *modmap; |
182 XSetWindowAttributes wa; |
182 XSetWindowAttributes wa; |
183 |
183 |
184 if(argc == 2 && !strncmp("-v", argv[1], 3)) { |
184 if(argc == 2 && !strncmp("-v", argv[1], 3)) { |
277 scan(); |
277 scan(); |
278 |
278 |
279 /* main event loop, also reads status text from stdin */ |
279 /* main event loop, also reads status text from stdin */ |
280 XSync(dpy, False); |
280 XSync(dpy, False); |
281 procevent(); |
281 procevent(); |
|
282 readin = True; |
282 while(running) { |
283 while(running) { |
283 FD_ZERO(&rd); |
284 FD_ZERO(&rd); |
284 if(readin) |
285 if(readin) |
285 FD_SET(STDIN_FILENO, &rd); |
286 FD_SET(STDIN_FILENO, &rd); |
286 FD_SET(xfd, &rd); |
287 FD_SET(xfd, &rd); |