X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=dwm.c;h=54d021f460bf01319b5f8a8bfbd4ca1c2c8f9bb2;hb=a6a216f28cbc49afaace269c2662382a351fda24;hp=0f833b361515a5f51657546bf32bc8c030f98db4;hpb=6877205e9d8eed2b839be98c40679fa45a93e0ca;p=dwm.git diff --git a/dwm.c b/dwm.c index 0f833b3..54d021f 100644 --- a/dwm.c +++ b/dwm.c @@ -259,7 +259,7 @@ applyrules(Client *c) { XGetClassHint(dpy, c->win, &ch); for(i = 0; i < LENGTH(rules); i++) { r = &rules[i]; - if(r->title && strstr(c->name, r->title) + if((r->title && strstr(c->name, r->title)) || (ch.res_class && r->class && strstr(ch.res_class, r->class)) || (ch.res_name && r->instance && strstr(ch.res_name, r->instance))) { @@ -517,9 +517,11 @@ drawbar(void) { Client *c; dc.x = 0; - dc.w = bgw; - drawtext(geom->symbol, dc.norm, False); - dc.x += bgw; + if(bgw > 0) { + dc.w = bgw; + drawtext(geom->symbol, dc.norm, False); + dc.x += bgw; + } for(c = stack; c && !isvisible(c); c = c->snext); for(i = 0; i < LENGTH(tags); i++) { dc.w = textw(tags[i]); @@ -533,9 +535,13 @@ drawbar(void) { } dc.x += dc.w; } - dc.w = blw; - drawtext(lt->symbol, dc.norm, False); - x = dc.x + dc.w; + if(blw > 0) { + dc.w = blw; + drawtext(lt->symbol, dc.norm, False); + x = dc.x + dc.w; + } + else + x = dc.x; dc.w = textw(stext); dc.x = bw - dc.w; if(dc.x < x) { @@ -860,7 +866,7 @@ unsigned int idxoftag(const char *t) { unsigned int i; - for(i = 0; (i < LENGTH(tags)) && strcmp(tags[i], t); i++); + for(i = 0; (i < LENGTH(tags)) && t && strcmp(tags[i], t); i++); return (i < LENGTH(tags)) ? i : 0; } @@ -1448,7 +1454,7 @@ setlayout(const char *arg) { void setup(void) { - unsigned int i; + unsigned int i, w; XSetWindowAttributes wa; /* init screen */ @@ -1502,15 +1508,15 @@ setup(void) { lt = &layouts[0]; /* init bar */ - for(blw = i = 0; i < LENGTH(layouts); i++) { - i = textw(layouts[i].symbol); - if(i > blw) - blw = i; + for(blw = i = 0; LENGTH(layouts) > 1 && i < LENGTH(layouts); i++) { + w = textw(layouts[i].symbol); + if(w > blw) + blw = w; } - for(bgw = i = 0; i < LENGTH(geoms); i++) { - i = textw(geoms[i].symbol); - if(i > bgw) - bgw = i; + for(bgw = i = 0; LENGTH(geoms) > 1 && i < LENGTH(geoms); i++) { + w = textw(geoms[i].symbol); + if(w > bgw) + bgw = w; } wa.override_redirect = 1;