URI: 
       implemented class:inst:title matching - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit d6a6eca71d760fb3b61e35b187b9b9fd51092c71
   DIR parent 39ffc18635686b1a65cd80d19828c4fe2aed982f
  HTML Author: Anselm R. Garbe <arg@10kloc.org>
       Date:   Wed, 23 Aug 2006 12:08:37 +0200
       
       implemented class:inst:title matching
       Diffstat:
         M config.arg.h                        |       2 +-
         M config.default.h                    |       6 +++---
         M tag.c                               |       8 ++++----
       
       3 files changed, 8 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/config.arg.h b/config.arg.h
       @@ -46,7 +46,7 @@ static Key key[] = { \
        
        #define RULES \
        static Rule rule[] = { \
       -        /* class:instance regex                tags regex        isfloat */ \
       +        /* class:instance:title regex        tags regex        isfloat */ \
                { "Firefox.*",                        "net",                False }, \
                { "Gimp.*",                        NULL,                True}, \
                { "MPlayer.*",                        NULL,                True}, \
   DIR diff --git a/config.default.h b/config.default.h
       @@ -47,11 +47,11 @@ static Key key[] = { \
                { MODKEY|ShiftMask,                XK_q,                quit,                { 0 } }, \
        };
        
       -/* Query class:instance for regex matching info with following command:
       - * xprop | awk -F'"' '/^WM_CLASS/ { printf "%s:%s\n", $4, $2 }'*/
       +/* Query class:instance:title for regex matching info with following command:
       + * xprop | awk -F '"' '/^WM_CLASS/ { printf("%s:%s:",$4,$2) }; /^WM_NAME/{ printf("%s\n",$2) }' */
        #define RULES \
        static Rule rule[] = { \
       -        /* class:instance regex                tags regex        isfloat */ \
       +        /* class:instance:title regex        tags regex        isfloat */ \
                { "Firefox.*",                        "2",                False }, \
                { "Gimp.*",                        NULL,                True}, \
        };
   DIR diff --git a/tag.c b/tag.c
       @@ -78,18 +78,18 @@ initrregs()
        void
        settags(Client *c)
        {
       -        char classinst[256];
       +        char prop[512];
                unsigned int i, j;
                regmatch_t tmp;
                Bool matched = False;
                XClassHint ch;
        
                if(XGetClassHint(dpy, c->win, &ch)) {
       -                snprintf(classinst, sizeof(classinst), "%s:%s",
       +                snprintf(prop, sizeof(prop), "%s:%s:%s",
                                        ch.res_class ? ch.res_class : "",
       -                                ch.res_name ? ch.res_name : "");
       +                                ch.res_name ? ch.res_name : "", c->name);
                        for(i = 0; !matched && i < len; i++)
       -                        if(rreg[i].clregex && !regexec(rreg[i].clregex, classinst, 1, &tmp, 0)) {
       +                        if(rreg[i].clregex && !regexec(rreg[i].clregex, prop, 1, &tmp, 0)) {
                                        c->isfloat = rule[i].isfloat;
                                        for(j = 0; rreg[i].tregex && j < ntags; j++) {
                                                if(!regexec(rreg[i].tregex, tags[j], 1, &tmp, 0)) {