Great 5.3.1 release!

What about this little change in applyrules?
@@ -259,7 +259,7 @@
                        && (!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;
-                               c->tags |= r->tags & TAGMASK;
+                               c->tags |= r->tags & TAGMASK ? r->tags
& TAGMASK : tagset[seltags];
                        }
                }
                if(ch.res_class)

This way you can define rules like:
        { "MPlayer",    NULL,       NULL,           0,            True },
        { "MPlayer",    NULL,       NULL,           1 << 6,           True },
and have mplayer tagged to the currently selected tags and to the 6th
tag, for example. This trick is very convenient to group windows by
categories, I do it with image viewers, music players... and I think
it makes clearer the rules definition. With the current
implementation, if r->tags is 0 the result of applying that rule is
undefined depending on the previous rules. The only problem I can see
is that somebody could be doing:
        { NULL,       NULL,       NULL,     0,            True },
to treat new windows like float by default, by I doubt there's anybody
here doing such a thing...

-- 


- yiyus || JGL .

Attachment: applyrules.diff
Description: Binary data

Reply via email to