equal
deleted
inserted
replaced
194 if(otherwm) |
194 if(otherwm) |
195 eprint("dwm: another window manager is already running\n"); |
195 eprint("dwm: another window manager is already running\n"); |
196 |
196 |
197 XSetErrorHandler(NULL); |
197 XSetErrorHandler(NULL); |
198 xerrorxlib = XSetErrorHandler(xerror); |
198 xerrorxlib = XSetErrorHandler(xerror); |
|
199 XSync(dpy, False); |
199 |
200 |
200 /* init atoms */ |
201 /* init atoms */ |
201 wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
202 wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False); |
202 wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
203 wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False); |
203 netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
204 netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False); |
267 if(i == -1 && errno == EINTR) |
268 if(i == -1 && errno == EINTR) |
268 continue; |
269 continue; |
269 if(i < 0) |
270 if(i < 0) |
270 eprint("select failed\n"); |
271 eprint("select failed\n"); |
271 else if(i > 0) { |
272 else if(i > 0) { |
272 if(FD_ISSET(xfd, &rd)) { |
|
273 while(XPending(dpy)) { |
|
274 XNextEvent(dpy, &ev); |
|
275 if(handler[ev.type]) |
|
276 (handler[ev.type])(&ev); /* call handler */ |
|
277 } |
|
278 } |
|
279 if(readin && FD_ISSET(STDIN_FILENO, &rd)) { |
273 if(readin && FD_ISSET(STDIN_FILENO, &rd)) { |
280 readin = NULL != fgets(stext, sizeof(stext), stdin); |
274 readin = NULL != fgets(stext, sizeof(stext), stdin); |
281 if(readin) |
275 if(readin) |
282 stext[strlen(stext) - 1] = 0; |
276 stext[strlen(stext) - 1] = 0; |
283 else |
277 else |
284 strcpy(stext, "broken pipe"); |
278 strcpy(stext, "broken pipe"); |
285 drawstatus(); |
279 drawstatus(); |
286 } |
280 } |
|
281 if(FD_ISSET(xfd, &rd)) { |
|
282 while(XPending(dpy)) { |
|
283 XNextEvent(dpy, &ev); |
|
284 if(handler[ev.type]) |
|
285 (handler[ev.type])(&ev); /* call handler */ |
|
286 } |
|
287 } |
287 } |
288 } |
288 } |
289 } |
289 |
|
290 cleanup(); |
290 cleanup(); |
291 XCloseDisplay(dpy); |
291 XCloseDisplay(dpy); |
292 |
292 |
293 return 0; |
293 return 0; |
294 } |
294 } |