JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
blw/bgw calculation bugfix
[dwm.git] / dwm.c
diff --git a/dwm.c b/dwm.c
index 533632a..053984d 100644 (file)
--- 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(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)))
                {
@@ -423,8 +423,11 @@ void
 configurenotify(XEvent *e) {
        XConfigureEvent *ev = &e->xconfigure;
 
-       if(ev->window == root && (ev->width != sw || ev->height != sh))
+       if(ev->window == root && (ev->width != sw || ev->height != sh)) {
+               sw = ev->width;
+               sh = ev->height;
                setgeom(NULL);
+       }
 }
 
 void
@@ -1445,7 +1448,7 @@ setlayout(const char *arg) {
 
 void
 setup(void) {
-       unsigned int i;
+       unsigned int i, w;
        XSetWindowAttributes wa;
 
        /* init screen */
@@ -1500,14 +1503,14 @@ setup(void) {
 
        /* init bar */
        for(blw = i = 0; i < LENGTH(layouts); i++) {
-               i = textw(layouts[i].symbol);
-               if(i > blw)
-                       blw = 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;
+               w = textw(geoms[i].symbol);
+               if(w > bgw)
+                       bgw = w;
        }
 
        wa.override_redirect = 1;