t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit d6bdd03d915ecb800444986503b43aa488a82e36
   DIR parent 1144e983949878ea75e5d40e93b063ff7d1e1150
   URI Author: Anselm R Garbe <anselm@garbe.us>
       Date:   Wed, 31 Mar 2010 23:24:22 +0100
       
       it's debug season for upcoming dwm 5.8, so only use this if you really want to run experimental code or debug code
       Diffstat:
         M BUGS                                |      13 +++++++++++++
         M config.mk                           |       8 ++++----
         M dwm.c                               |      24 ++++++++++++++++++++----
       
       3 files changed, 37 insertions(+), 8 deletions(-)
       ---
   DIR diff --git a/BUGS b/BUGS
       t@@ -44,3 +44,16 @@ Donald Allen reported this:
        starting emacs from dmenu in archlinux results in missing configure of emacs, but mod1-space or mod1-shift-space fix this problem. this problem is new and did not happen in 1.6 xorg servers
        
        Starting emacs from xterm doesnt show this problem, he uses tag 8 for emacs
       +
       +---
       +
       +2009/12/7 Alexandr Krylovskiy <wing_AT_tversu.ru>: 
       +>  Fullscreen mode with flash applications (youtube, for example) doesn't 
       +> work properly neither in tiled nor in floating mode. 
       +>  Fullscreen window closes immediately after opening. 
       +
       +This is a known bug (for some curiosity I received the same report via 
       +privmail from 2 other people within one week, really strange). 
       +The quick fix is commenting out the code in lines 817/818 in hg tip 
       +dwm. I cannot confirm this has no side effects (I think it does) and I 
       +will address this issue shortly with a real fix. 
   DIR diff --git a/config.mk b/config.mk
       t@@ -20,10 +20,10 @@ LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 ${XINERAMALIBS}
        
        # flags
        CPPFLAGS = -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS}
       -#CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
       -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
       -#LDFLAGS = -g ${LIBS}
       -LDFLAGS = -s ${LIBS}
       +CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS}
       +#CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
       +LDFLAGS = -g ${LIBS}
       +#LDFLAGS = -s ${LIBS}
        
        # Solaris
        #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\"
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -41,6 +41,7 @@
        #endif /* XINERAMA */
        
        /* macros */
       +#define D                       if(1)
        #define BUTTONMASK              (ButtonPressMask|ButtonReleaseMask)
        #define CLEANMASK(mask)         (mask & ~(numlockmask|LockMask))
        #define INRECT(X,Y,RX,RY,RW,RH) ((X) >= (RX) && (X) < (RX) + (RW) && (Y) >= (RY) && (Y) < (RY) + (RH))
       t@@ -814,8 +815,8 @@ void
        focus(Client *c) {
                if(!c || !ISVISIBLE(c))
                        for(c = selmon->stack; c && !ISVISIBLE(c); c = c->snext);
       -        if(selmon->sel)
       -                unfocus(selmon->sel);
       +//        if(selmon->sel)
       +//                unfocus(selmon->sel);
                if(c) {
                        if(c->mon != selmon)
                                selmon = c->mon;
       t@@ -1388,12 +1389,27 @@ restack(Monitor *m) {
        void
        run(void) {
                XEvent ev;
       -
       +        static const char *evname[LASTEvent] = {
       +                [ButtonPress] = "buttonpress",
       +                [ConfigureRequest] = "configurerequest",
       +                [ConfigureNotify] = "configurenotify",
       +                [DestroyNotify] = "destroynotify",
       +                [EnterNotify] = "enternotify",
       +                [Expose] = "expose",
       +                [FocusIn] = "focusin",
       +                [KeyPress] = "keypress",
       +                [MappingNotify] = "mappingnotify",
       +                [MapRequest] = "maprequest",
       +                [PropertyNotify] = "propertynotify",
       +                [UnmapNotify] = "unmapnotify"
       +        };
                /* main event loop */
                XSync(dpy, False);
       -        while(running && !XNextEvent(dpy, &ev))
       +        while(running && !XNextEvent(dpy, &ev)) {
       +                D fprintf(stderr, "run event %s\n", evname[ev.type]);
                        if(handler[ev.type])
                                handler[ev.type](&ev); /* call handler */
       +        }
        }
        
        void