comparison tag.c @ 431:a230e4432bb7

moved transient_for tag inheritance to settags
author Anselm R. Garbe <arg@10kloc.org>
date Wed, 06 Sep 2006 09:21:17 +0200
parents 1e8aba00964e
children 9d73c8298b2e
comparison
equal deleted inserted replaced
430:1e8aba00964e 431:a230e4432bb7
74 } 74 }
75 } 75 }
76 } 76 }
77 77
78 void 78 void
79 settags(Client *c) 79 settags(Client *c, Client *trans)
80 { 80 {
81 char prop[512]; 81 char prop[512];
82 unsigned int i, j; 82 unsigned int i, j;
83 regmatch_t tmp; 83 regmatch_t tmp;
84 Bool matched = False; 84 Bool matched = trans != NULL;
85 XClassHint ch; 85 XClassHint ch;
86 86
87 if(XGetClassHint(dpy, c->win, &ch)) { 87 if(matched) {
88 for(i = 0; i < ntags; i++)
89 c->tags[i] = trans->tags[i];
90 }
91 else if(XGetClassHint(dpy, c->win, &ch)) {
88 snprintf(prop, sizeof(prop), "%s:%s:%s", 92 snprintf(prop, sizeof(prop), "%s:%s:%s",
89 ch.res_class ? ch.res_class : "", 93 ch.res_class ? ch.res_class : "",
90 ch.res_name ? ch.res_name : "", c->name); 94 ch.res_name ? ch.res_name : "", c->name);
91 for(i = 0; !matched && i < len; i++) 95 for(i = 0; !matched && i < len; i++)
92 if(rreg[i].clregex && !regexec(rreg[i].clregex, prop, 1, &tmp, 0)) { 96 if(rreg[i].clregex && !regexec(rreg[i].clregex, prop, 1, &tmp, 0)) {