diff -r 469dc170f833 -r 2ec66bdbb8ad main.c --- a/main.c Mon Feb 19 15:17:31 2007 +0100 +++ b/main.c Mon Feb 19 15:23:35 2007 +0100 @@ -379,6 +379,7 @@ char *p; int r, xfd; fd_set rd; + XEvent ev; if(argc == 2 && !strncmp("-v", argv[1], 3)) { fputs("dwm-"VERSION", (C)opyright MMVI-MMVII Anselm R. Garbe\n", stdout); @@ -411,7 +412,6 @@ /* main event loop, also reads status text from stdin */ XSync(dpy, False); - procevent(); readin = True; while(running) { FD_ZERO(&rd); @@ -443,7 +443,11 @@ drawstatus(); } if(FD_ISSET(xfd, &rd)) - procevent(); + while(XPending(dpy)) { + XNextEvent(dpy, &ev); + if(handler[ev.type]) + (handler[ev.type])(&ev); /* call handler */ + } } cleanup(); XCloseDisplay(dpy);