t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 55d8dda9f45503f25804a9dbfeb4c878284a6576
   DIR parent 86953bd68249662b5d7a9ae6741744ab8bf30aa1
   URI Author: Anselm R. Garbe <garbeam@gmail.com>
       Date:   Fri, 17 Aug 2007 21:19:07 +0200
       
       replaced static Layout *lt with static unsigned int sellayout... (will be adapted later when _DWM_CONFIG is serialized as root window property)
       Diffstat:
         M layout.c                            |      25 ++++++++++++-------------
       
       1 file changed, 12 insertions(+), 13 deletions(-)
       ---
   DIR diff --git a/layout.c b/layout.c
       t@@ -10,7 +10,7 @@ typedef struct {
        } Layout;
        
        unsigned int blw = 0;
       -static Layout *lt = NULL;
       +static unsigned int sellayout = 0; /* default */
        
        static void
        floating(void) { /* default floating layout */
       t@@ -36,7 +36,7 @@ arrange(void) {
                                unban(c);
                        else
                                ban(c);
       -        lt->arrange();
       +        layouts[sellayout].arrange();
                focus(NULL);
                restack();
        }
       t@@ -76,25 +76,25 @@ focusprev(const char *arg) {
        const char *
        getsymbol(void)
        {
       -        return lt->symbol;
       +        return layouts[sellayout].symbol;
        }
        
        Bool
        isfloating(void) {
       -        return lt->arrange == floating;
       +        return layouts[sellayout].arrange == floating;
        }
        
        Bool
        isarrange(void (*func)())
        {
       -        return func == lt->arrange;
       +        return func == layouts[sellayout].arrange;
        }
        
        void
        initlayouts(void) {
                unsigned int i, w;
        
       -        lt = &layouts[0];
       +        /* TODO deserialize sellayout if present */
                nlayouts = sizeof layouts / sizeof layouts[0];
                for(blw = i = 0; i < nlayouts; i++) {
                        w = textw(layouts[i].symbol);
       t@@ -118,9 +118,9 @@ restack(void) {
                drawstatus();
                if(!sel)
                        return;
       -        if(sel->isfloating || lt->arrange == floating)
       +        if(sel->isfloating || isfloating())
                        XRaiseWindow(dpy, sel->win);
       -        if(lt->arrange != floating) {
       +        if(!isfloating()) {
                        wc.stack_mode = Below;
                        wc.sibling = barwin;
                        if(!sel->isfloating) {
       t@@ -143,15 +143,14 @@ setlayout(const char *arg) {
                int i;
        
                if(!arg) {
       -                lt++;
       -                if(lt == layouts + nlayouts)
       -                        lt = layouts;
       +                if(++sellayout == nlayouts)
       +                        sellayout = 0;;
                }
                else {
                        i = atoi(arg);
                        if(i < 0 || i >= nlayouts)
                                return;
       -                lt = &layouts[i];
       +                sellayout = i;
                }
                if(sel)
                        arrange();
       t@@ -173,7 +172,7 @@ void
        togglemax(const char *arg) {
                XEvent ev;
        
       -        if(!sel || (lt->arrange != floating && !sel->isfloating) || sel->isfixed)
       +        if(!sel || (!isfloating() && !sel->isfloating) || sel->isfixed)
                        return;
                if((sel->ismax = !sel->ismax)) {
                        sel->rx = sel->x;