fixed wrong tagging stuff

This commit is contained in:
anselm@anselm1 2007-12-22 12:49:04 +00:00
parent 308f95ae5a
commit 7a496e9777
2 changed files with 14 additions and 14 deletions

View File

@ -13,7 +13,7 @@
/* tagging */ /* tagging */
const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "www" }; const char tags[][MAXTAGLEN] = { "1", "2", "3", "4", "5", "6", "7", "8", "www" };
Bool seltags[LENGTH(tags)] = {[0] = True}; Bool initags[LENGTH(tags)] = {[0] = True};
Rule rules[] = { Rule rules[] = {
/* class:instance:title regex tags regex isfloating */ /* class:instance:title regex tags regex isfloating */
{ "Firefox", "www", False }, { "Firefox", "www", False },

26
dwm.c
View File

@ -297,7 +297,7 @@ applyrules(Client *c) {
if(ch.res_name) if(ch.res_name)
XFree(ch.res_name); XFree(ch.res_name);
if(!matched_tag) if(!matched_tag)
memcpy(c->tags, monitors[monitorat(-1, -1)].seltags, sizeof seltags); memcpy(c->tags, monitors[monitorat(-1, -1)].seltags, sizeof initags);
if (!matched_monitor) if (!matched_monitor)
c->monitor = monitorat(-1, -1); c->monitor = monitorat(-1, -1);
} }
@ -1056,7 +1056,7 @@ manage(Window w, XWindowAttributes *wa) {
XWindowChanges wc; XWindowChanges wc;
c = emallocz(sizeof(Client)); c = emallocz(sizeof(Client));
c->tags = emallocz(sizeof seltags); c->tags = emallocz(sizeof initags);
c->win = w; c->win = w;
applyrules(c); applyrules(c);
@ -1100,7 +1100,7 @@ manage(Window w, XWindowAttributes *wa) {
if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success)) if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success))
for(t = clients; t && t->win != trans; t = t->next); for(t = clients; t && t->win != trans; t = t->next);
if(t) if(t)
memcpy(c->tags, t->tags, sizeof seltags); memcpy(c->tags, t->tags, sizeof initags);
if(!c->isfloating) if(!c->isfloating)
c->isfloating = (rettrans == Success) || c->isfixed; c->isfloating = (rettrans == Success) || c->isfixed;
attach(c); attach(c);
@ -1181,7 +1181,7 @@ movemouse(Client *c) {
else if(abs((m->way + m->wah) - (ny + c->h + 2 * c->border)) < SNAP) else if(abs((m->way + m->wah) - (ny + c->h + 2 * c->border)) < SNAP)
ny = m->way + m->wah - c->h - 2 * c->border; ny = m->way + m->wah - c->h - 2 * c->border;
resize(c, nx, ny, c->w, c->h, False); resize(c, nx, ny, c->w, c->h, False);
memcpy(c->tags, monitors[monitorat(nx, ny)].seltags, sizeof seltags); memcpy(c->tags, monitors[monitorat(nx, ny)].seltags, sizeof initags);
break; break;
} }
} }
@ -1591,11 +1591,11 @@ setup(void) {
} }
monitors[i].id = i; monitors[i].id = i;
monitors[i].seltags = emallocz(LENGTH(tags)*sizeof(char*)); monitors[i].seltags = emallocz(sizeof initags);
monitors[i].prevtags = emallocz(LENGTH(tags)*sizeof(char*)); monitors[i].prevtags = emallocz(sizeof initags);
memcpy(monitors[i].seltags, seltags, sizeof seltags); memcpy(monitors[i].seltags, initags, sizeof initags);
memcpy(monitors[i].prevtags, seltags, sizeof seltags); memcpy(monitors[i].prevtags, initags, sizeof initags);
/* init appearance */ /* init appearance */
monitors[i].dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR); monitors[i].dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR);
@ -1950,7 +1950,7 @@ view(const char *arg) {
Monitor *m = &monitors[monitorat(-1, -1)]; Monitor *m = &monitors[monitorat(-1, -1)];
memcpy(m->prevtags, seltags, sizeof seltags); memcpy(m->prevtags, m->seltags, sizeof initags);
for(i = 0; i < LENGTH(tags); i++) for(i = 0; i < LENGTH(tags); i++)
m->seltags[i] = (NULL == arg); m->seltags[i] = (NULL == arg);
m->seltags[idxoftag(arg)] = True; m->seltags[idxoftag(arg)] = True;
@ -1963,9 +1963,9 @@ viewprevtag(const char *arg) {
Monitor *m = &monitors[monitorat(-1, -1)]; Monitor *m = &monitors[monitorat(-1, -1)];
memcpy(tmp, m->seltags, sizeof seltags); memcpy(tmp, m->seltags, sizeof initags);
memcpy(m->seltags, m->prevtags, sizeof seltags); memcpy(m->seltags, m->prevtags, sizeof initags);
memcpy(m->prevtags, tmp, sizeof seltags); memcpy(m->prevtags, tmp, sizeof initags);
arrange(); arrange();
} }
@ -2011,7 +2011,7 @@ movetomonitor(const char *arg) {
if (sel) { if (sel) {
sel->monitor = arg ? atoi(arg) : (sel->monitor+1) % mcount; sel->monitor = arg ? atoi(arg) : (sel->monitor+1) % mcount;
memcpy(sel->tags, monitors[sel->monitor].seltags, sizeof seltags); memcpy(sel->tags, monitors[sel->monitor].seltags, sizeof initags);
resize(sel, monitors[sel->monitor].wax, monitors[sel->monitor].way, sel->w, sel->h, True); resize(sel, monitors[sel->monitor].wax, monitors[sel->monitor].way, sel->w, sel->h, True);
arrange(); arrange();
} }