t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 5dd92c765570caa6d96ab125aa655e30cf82eb20
   DIR parent 52bd69c2a4998294a259efbedafca961dc2781eb
   URI Author: Anselm R Garbe <anselm@garbe.us>
       Date:   Thu,  2 Jul 2009 18:40:04 +0100
       
       removed some empty lines
       Diffstat:
         M dwm.c                               |      49 ++++---------------------------
       
       1 file changed, 6 insertions(+), 43 deletions(-)
       ---
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -330,16 +330,13 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact) {
                        *h = bh;
                if(*w < bh)
                        *w = bh;
       -
                if(resizehints || c->isfloating) {
                        /* see last two sentences in ICCCM 4.1.2.3 */
                        baseismin = c->basew == c->minw && c->baseh == c->minh;
       -
                        if(!baseismin) { /* temporarily remove base dimensions */
                                *w -= c->basew;
                                *h -= c->baseh;
                        }
       -
                        /* adjust for aspect limits */
                        if(c->mina > 0 && c->maxa > 0) {
                                if(c->maxa < (float)*w / *h)
       t@@ -347,28 +344,22 @@ applysizehints(Client *c, int *x, int *y, int *w, int *h, Bool interact) {
                                else if(c->mina < (float)*h / *w)
                                        *h = *w * c->mina;
                        }
       -
                        if(baseismin) { /* increment calculation requires this */
                                *w -= c->basew;
                                *h -= c->baseh;
                        }
       -
                        /* adjust for increment value */
                        if(c->incw)
                                *w -= *w % c->incw;
                        if(c->inch)
                                *h -= *h % c->inch;
       -
                        /* restore base dimensions */
                        *w += c->basew;
                        *h += c->baseh;
       -
                        *w = MAX(*w, c->minw);
                        *h = MAX(*h, c->minh);
       -
                        if(c->maxw)
                                *w = MIN(*w, c->maxw);
       -
                        if(c->maxh)
                                *h = MIN(*h, c->maxh);
                }
       t@@ -438,7 +429,6 @@ buttonpress(XEvent *e) {
                        focus(c);
                        click = ClkClientWin;
                }
       -
                for(i = 0; i < LENGTH(buttons); i++)
                        if(click == buttons[i].click && buttons[i].func && buttons[i].button == ev->button
                           && CLEANMASK(buttons[i].mask) == CLEANMASK(ev->state))
       t@@ -449,7 +439,6 @@ void
        checkotherwm(void) {
                otherwm = False;
                xerrorxlib = XSetErrorHandler(xerrorstart);
       -
                /* this causes an error if some other window manager is running */
                XSelectInput(dpy, DefaultRootWindow(dpy), SubstructureRedirectMask);
                XSync(dpy, False);
       t@@ -644,7 +633,6 @@ drawbar(Monitor *m) {
                        if(c->isurgent)
                                urg |= c->tags;
                }
       -
                dc.x = 0;
                if(mons->next) { /* more than a single monitor */
                        dc.w = TEXTW(monsyms[m->screen_number]);
       t@@ -676,9 +664,8 @@ drawbar(Monitor *m) {
                        }
                        drawtext(stext, dc.norm, False);
                }
       -        else {
       +        else
                        dc.x = m->ww;
       -        }
                if((dc.w = dc.x - x) > bh) {
                        dc.x = x;
                        if(m->sel) {
       t@@ -860,6 +847,7 @@ getrootpointer(int *x, int *y) {
                int di;
                unsigned int dui;
                Window dummy;
       +
                return XQueryPointer(dpy, root, &dummy, &dummy, x, y, &di, &di, &dui);
        }
        
       t@@ -931,7 +919,7 @@ grabbuttons(Client *c, Bool focused) {
        void
        grabkeys(void) {
                updatenumlockmask();
       -        { /* grab keys */
       +        {
                        unsigned int i, j;
                        unsigned int modifiers[] = { 0, LockMask, numlockmask, numlockmask|LockMask };
                        KeyCode code;
       t@@ -1050,7 +1038,6 @@ manage(Window w, XWindowAttributes *wa) {
                        die("fatal: could not malloc() %u bytes\n", sizeof(Client));
                *c = cz;
                c->win = w;
       -
                if(XGetTransientForHint(dpy, w, &trans))
                        t = wintoclient(trans);
                if(t) {
       t@@ -1061,7 +1048,6 @@ manage(Window w, XWindowAttributes *wa) {
                        c->mon = selmon;
                        applyrules(c);
                }
       -
                /* geometry */
                c->x = wa->x + c->mon->wx;
                c->y = wa->y + c->mon->wy;
       t@@ -1084,7 +1070,6 @@ manage(Window w, XWindowAttributes *wa) {
                                   && (c->x + (c->w / 2) < c->mon->wx + c->mon->ww)) ? bh : c->mon->my);
                        c->bw = borderpx;
                }
       -
                wc.border_width = c->bw;
                XConfigureWindow(dpy, w, CWBorderWidth, &wc);
                XSetWindowBorder(dpy, w, dc.norm[ColBorder]);
       t@@ -1290,7 +1275,6 @@ resizemouse(const Arg *arg) {
                        case MotionNotify:
                                nw = MAX(ev.xmotion.x - ocx - 2 * c->bw + 1, 1);
                                nh = MAX(ev.xmotion.y - ocy - 2 * c->bw + 1, 1);
       -
                                if(snap && nw >= selmon->wx && nw <= selmon->wx + selmon->ww
                                        && nh >= selmon->wy && nh <= selmon->wy + selmon->wh) {
                                        if(!c->isfloating && lt[selmon->sellt]->arrange
       t@@ -1440,19 +1424,16 @@ setup(void) {
                lt[0] = &layouts[0];
                lt[1] = &layouts[1 % LENGTH(layouts)];
                updategeom();
       -
                /* init atoms */
                wmatom[WMProtocols] = XInternAtom(dpy, "WM_PROTOCOLS", False);
                wmatom[WMDelete] = XInternAtom(dpy, "WM_DELETE_WINDOW", False);
                wmatom[WMState] = XInternAtom(dpy, "WM_STATE", False);
                netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False);
                netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
       -
                /* init cursors */
                cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
                cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);
                cursor[CurMove] = XCreateFontCursor(dpy, XC_fleur);
       -
                /* init appearance */
                dc.norm[ColBorder] = getcolor(normbordercolor);
                dc.norm[ColBG] = getcolor(normbgcolor);
       t@@ -1465,7 +1446,6 @@ setup(void) {
                XSetLineAttributes(dpy, dc.gc, 1, LineSolid, CapButt, JoinMiter);
                if(!dc.font.set)
                        XSetFont(dpy, dc.gc, dc.font.xfont->fid);
       -
                /* init bars */
                for(blw = i = 0; LENGTH(layouts) > 1 && i < LENGTH(layouts); i++) {
                        w = TEXTW(layouts[i].symbol);
       t@@ -1473,11 +1453,9 @@ setup(void) {
                }
                updatebars();
                updatestatus();
       -
                /* EWMH support per view */
                XChangeProperty(dpy, root, netatom[NetSupported], XA_ATOM, 32,
                                PropModeReplace, (unsigned char *) netatom, NetLast);
       -
                /* select for events */
                wa.cursor = cursor[CurNormal];
                wa.event_mask = SubstructureRedirectMask|SubstructureNotifyMask|ButtonPressMask
       t@@ -1485,7 +1463,6 @@ setup(void) {
                                |PropertyChangeMask;
                XChangeWindowAttributes(dpy, root, CWEventMask|CWCursor, &wa);
                XSelectInput(dpy, root, wa.event_mask);
       -
                grabkeys();
        }
        
       t@@ -1562,15 +1539,12 @@ tile(Monitor *m) {
                for(n = 0, c = nexttiled(m->clients); c; c = nexttiled(c->next), n++);
                if(n == 0)
                        return;
       -
                /* master */
                c = nexttiled(m->clients);
                mw = m->mfact * m->ww;
                resize(c, m->wx, m->wy, (n == 1 ? m->ww : mw) - 2 * c->bw, m->wh - 2 * c->bw, False);
       -
                if(--n == 0)
                        return;
       -
                /* tile stack */
                x = (m->wx + mw > c->x + c->w) ? c->x + c->w + 2 * c->bw : m->wx + mw;
                y = m->wy;
       t@@ -1578,7 +1552,6 @@ tile(Monitor *m) {
                h = m->wh / n;
                if(h < bh)
                        h = m->wh;
       -
                for(i = 0, c = nexttiled(c->next); c; c = nexttiled(c->next), i++) {
                        resize(c, x, y, w - 2 * c->bw, /* remainder */ ((i + 1 == n)
                               ? m->wy + m->wh - y - 2 * c->bw : h - 2 * c->bw), False);
       t@@ -1612,7 +1585,6 @@ toggletag(const Arg *arg) {
        
                if(!selmon->sel)
                        return;
       -        
                mask = selmon->sel->tags ^ (arg->ui & TAGMASK);
                if(mask) {
                        selmon->sel->tags = mask;
       t@@ -1677,10 +1649,8 @@ updatebars(void) {
                wa.override_redirect = True;
                wa.background_pixmap = ParentRelative;
                wa.event_mask = ButtonPressMask|ExposureMask;
       -
                for(m = mons; m; m = m->next) {
                        m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen),
       -
                                                  CopyFromParent, DefaultVisual(dpy, screen),
                                                  CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
                        XDefineCursor(dpy, m->barwin, cursor[CurNormal]);
       t@@ -1719,7 +1689,6 @@ updategeom(void) {
                        m->next = newmons;
                        newmons = m;
                }
       -
                /* initialise monitor(s) */
        #ifdef XINERAMA
                if(XineramaIsActive(dpy)) {
       t@@ -1742,7 +1711,6 @@ updategeom(void) {
                        m->mw = m->ww = sw;
                        m->mh = m->wh = sh;
                }
       -
                /* bar geometry setup */
                for(m = newmons; m; m = m->next) {
                        m->sel = m->stack = m->clients = NULL;
       t@@ -1754,7 +1722,6 @@ updategeom(void) {
                        m->topbar = TOPBAR;
                        updatebarpos(m);
                }
       -
                /* reassign left over clients of disappeared monitors */
                for(tm = mons; tm; tm = tm->next)
                        while(tm->clients) {
       t@@ -1765,7 +1732,6 @@ updategeom(void) {
                                attach(c);
                                attachstack(c);
                        }
       -
                /* select focused monitor */
                cleanupmons();
                selmon = mons = newmons;
       t@@ -1861,7 +1827,6 @@ updatewmhints(Client *c) {
                        }
                        else
                                c->isurgent = (wmh->flags & XUrgencyHint) ? True : False;
       -
                        XFree(wmh);
                }
        }
       t@@ -1941,7 +1906,9 @@ void
        zoom(const Arg *arg) {
                Client *c = selmon->sel;
        
       -        if(!lt[selmon->sellt]->arrange || lt[selmon->sellt]->arrange == monocle || (selmon->sel && selmon->sel->isfloating))
       +        if(!lt[selmon->sellt]->arrange
       +        || lt[selmon->sellt]->arrange == monocle
       +        || (selmon->sel && selmon->sel->isfloating))
                        return;
                if(c == nexttiled(selmon->clients))
                        if(!c || !(c = nexttiled(c->next)))
       t@@ -1958,19 +1925,15 @@ main(int argc, char *argv[]) {
                        die("dwm-"VERSION", © 2006-2009 dwm engineers, see LICENSE for details\n");
                else if(argc != 1)
                        die("usage: dwm [-v]\n");
       -
                if(!setlocale(LC_CTYPE, "") || !XSupportsLocale())
                        fputs("warning: no locale support\n", stderr);
       -
                if(!(dpy = XOpenDisplay(NULL)))
                        die("dwm: cannot open display\n");
       -
                checkotherwm();
                setup();
                scan();
                run();
                cleanup();
       -
                XCloseDisplay(dpy);
                return 0;
        }