t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 7a496e9777f2656987ba86dbba1e87a46a483fac
   DIR parent 308f95ae5ad6c00fcf15aa26481a9962ceabb796
   URI Author: anselm@anselm1 <unknown>
       Date:   Sat, 22 Dec 2007 12:49:04 +0000
       
       fixed wrong tagging stuff
       Diffstat:
         M config.def.h                        |       2 +-
         M dwm.c                               |      26 +++++++++++++-------------
       
       2 files changed, 14 insertions(+), 14 deletions(-)
       ---
   DIR diff --git a/config.def.h b/config.def.h
       t@@ -13,7 +13,7 @@
        
        /* tagging */
        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[] = {
                /* class:instance:title regex        tags regex        isfloating */
                { "Firefox",                        "www",                False },
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -297,7 +297,7 @@ applyrules(Client *c) {
                if(ch.res_name)
                        XFree(ch.res_name);
                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)
                        c->monitor = monitorat(-1, -1);
        }
       t@@ -1056,7 +1056,7 @@ manage(Window w, XWindowAttributes *wa) {
                XWindowChanges wc;
        
                c = emallocz(sizeof(Client));
       -        c->tags = emallocz(sizeof seltags);
       +        c->tags = emallocz(sizeof initags);
                c->win = w;
        
                applyrules(c);
       t@@ -1100,7 +1100,7 @@ manage(Window w, XWindowAttributes *wa) {
                if((rettrans = XGetTransientForHint(dpy, w, &trans) == Success))
                        for(t = clients; t && t->win != trans; t = t->next);
                if(t)
       -                memcpy(c->tags, t->tags, sizeof seltags);
       +                memcpy(c->tags, t->tags, sizeof initags);
                if(!c->isfloating)
                        c->isfloating = (rettrans == Success) || c->isfixed;
                attach(c);
       t@@ -1181,7 +1181,7 @@ movemouse(Client *c) {
                                else if(abs((m->way + m->wah) - (ny + c->h + 2 * c->border)) < SNAP)
                                        ny = m->way + m->wah - c->h - 2 * c->border;
                                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;
                        }
                }
       t@@ -1591,11 +1591,11 @@ setup(void) {
                        }
        
                        monitors[i].id = i;
       -                monitors[i].seltags = emallocz(LENGTH(tags)*sizeof(char*));
       -                monitors[i].prevtags = emallocz(LENGTH(tags)*sizeof(char*));
       +                monitors[i].seltags = emallocz(sizeof initags);
       +                monitors[i].prevtags = emallocz(sizeof initags);
        
       -                memcpy(monitors[i].seltags, seltags, sizeof seltags);
       -                memcpy(monitors[i].prevtags, seltags, sizeof seltags);
       +                memcpy(monitors[i].seltags, initags, sizeof initags);
       +                memcpy(monitors[i].prevtags, initags, sizeof initags);
        
                        /* init appearance */
                        monitors[i].dc.norm[ColBorder] = getcolor(NORMBORDERCOLOR);
       t@@ -1950,7 +1950,7 @@ view(const char *arg) {
        
                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++)
                        m->seltags[i] = (NULL == arg);
                m->seltags[idxoftag(arg)] = True;
       t@@ -1963,9 +1963,9 @@ viewprevtag(const char *arg) {
        
                Monitor *m = &monitors[monitorat(-1, -1)];
        
       -        memcpy(tmp, m->seltags, sizeof seltags);
       -        memcpy(m->seltags, m->prevtags, sizeof seltags);
       -        memcpy(m->prevtags, tmp, sizeof seltags);
       +        memcpy(tmp, m->seltags, sizeof initags);
       +        memcpy(m->seltags, m->prevtags, sizeof initags);
       +        memcpy(m->prevtags, tmp, sizeof initags);
                arrange();
        }
        
       t@@ -2011,7 +2011,7 @@ movetomonitor(const char *arg) {
                if (sel) {
                        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);
                        arrange();
                }