diff -r 595ed1a4447c dwm.c --- a/dwm.c Tue Apr 08 11:49:35 2008 +0100 +++ b/dwm.c Sat Apr 19 14:12:16 2008 +0200 @@ -262,8 +262,8 @@ for(i = 0; i < LENGTH(rules); i++) { r = &rules[i]; 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))) + && (!r->class || (ch.res_class && strstr(ch.res_class, r->class))) + && (!r->instance || (ch.res_name && strstr(ch.res_name, r->instance)))) { { c->isfloating = r->isfloating; if(r->tag) {