tmoved transient_for tag inheritance to settags - dwm - [fork] customized build… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit aaad7bfd15a023ab693bb17e2974b57cae7e7e21 | |
parent 0915da8842fd6e16b804ae3205ec2f6baaaa342c | |
Author: Anselm R. Garbe <[email protected]> | |
Date: Wed, 6 Sep 2006 09:21:17 +0200 | |
moved transient_for tag inheritance to settags | |
Diffstat: | |
M client.c | 8 ++------ | |
M dwm.h | 2 +- | |
M tag.c | 10 +++++++--- | |
3 files changed, 10 insertions(+), 10 deletions(-) | |
--- | |
diff --git a/client.c b/client.c | |
t@@ -199,7 +199,7 @@ void | |
manage(Window w, XWindowAttributes *wa) | |
{ | |
unsigned int i; | |
- Client *c, *tc; | |
+ Client *c; | |
Window trans; | |
XSetWindowAttributes twa; | |
t@@ -238,11 +238,7 @@ manage(Window w, XWindowAttributes *wa) | |
CWOverrideRedirect | CWBackPixmap | CWEventMask, &twa); | |
grabbuttons(c, False); | |
- if((tc = getclient(trans))) /* inherit tags */ | |
- for(i = 0; i < ntags; i++) | |
- c->tags[i] = tc->tags[i]; | |
- else | |
- settags(c); | |
+ settags(c, getclient(trans)); | |
if(!c->isfloat) | |
c->isfloat = trans | |
|| (c->maxw && c->minw && | |
diff --git a/dwm.h b/dwm.h | |
t@@ -115,7 +115,7 @@ extern int xerror(Display *dsply, XErrorEvent *ee); | |
extern void initrregs(); | |
extern Client *getnext(Client *c); | |
extern Client *getprev(Client *c); | |
-extern void settags(Client *c); | |
+extern void settags(Client *c, Client *trans); | |
extern void tag(Arg *arg); | |
extern void toggletag(Arg *arg); | |
diff --git a/tag.c b/tag.c | |
t@@ -76,15 +76,19 @@ initrregs() | |
} | |
void | |
-settags(Client *c) | |
+settags(Client *c, Client *trans) | |
{ | |
char prop[512]; | |
unsigned int i, j; | |
regmatch_t tmp; | |
- Bool matched = False; | |
+ Bool matched = trans != NULL; | |
XClassHint ch; | |
- if(XGetClassHint(dpy, c->win, &ch)) { | |
+ if(matched) { | |
+ for(i = 0; i < ntags; i++) | |
+ c->tags[i] = trans->tags[i]; | |
+ } | |
+ else if(XGetClassHint(dpy, c->win, &ch)) { | |
snprintf(prop, sizeof(prop), "%s:%s:%s", | |
ch.res_class ? ch.res_class : "", | |
ch.res_name ? ch.res_name : "", c->name); |