X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=main.c;h=8ecf9fac8ee2b8bc34348b46f5d69aff07d89638;hb=7c4da2446531bfec2f9b32998604aa9ff2da11c3;hp=77ce0df293ce85085f179d09143e19d20a6a414d;hpb=f8415019d4edc1cd4f310adb256e6656e85bfe75;p=dwm.git diff --git a/main.c b/main.c index 77ce0df..8ecf9fa 100644 --- a/main.c +++ b/main.c @@ -18,8 +18,8 @@ /* extern */ char stext[256]; -int bh, bmw, screen, sx, sy, sw, sh, wax, way, waw, wah; -unsigned int ntags, numlockmask; +int screen, sx, sy, sw, sh, wax, way, waw, wah; +unsigned int bh, ntags, numlockmask; Atom wmatom[WMLast], netatom[NetLast]; Bool running = True; Bool *seltag; @@ -246,7 +246,7 @@ setup(void) { wa.cursor = cursor[CurNormal]; XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa); grabkeys(); - compileregexps(); + compileregs(); for(ntags = 0; tags[ntags]; ntags++); seltag = emallocz(sizeof(Bool) * ntags); seltag[0] = True; @@ -262,7 +262,7 @@ setup(void) { sx = sy = 0; sw = DisplayWidth(dpy, screen); sh = DisplayHeight(dpy, screen); - bmw = textw(TILESYMBOL) > textw(FLOATSYMBOL) ? textw(TILESYMBOL) : textw(FLOATSYMBOL); + initlayouts(); /* bar */ dc.h = bh = dc.font.height + 2; wa.override_redirect = 1; @@ -312,8 +312,8 @@ drawstatus(void) { drawtext(tags[i], dc.norm, sel && sel->tags[i], isoccupied(i)); dc.x += dc.w; } - dc.w = bmw; - drawtext(arrange == dofloat ? FLOATSYMBOL : TILESYMBOL, dc.norm, False, False); + dc.w = blw; + drawtext(lt->symbol, dc.norm, False, False); x = dc.x + dc.w; dc.w = textw(stext); dc.x = sw - dc.w; @@ -379,6 +379,7 @@ main(int argc, char *argv[]) { 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(int argc, char *argv[]) { /* main event loop, also reads status text from stdin */ XSync(dpy, False); - procevent(); readin = True; while(running) { FD_ZERO(&rd); @@ -443,7 +443,11 @@ main(int argc, char *argv[]) { 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);