t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit b68528d85df68e681233609b38a137e3b6060775
   DIR parent a644baf674e80bebfe92ac4bde8f187d1cf949a8
   URI Author: Anselm R Garbe <anselm@garbe.us>
       Date:   Fri, 19 Nov 2010 11:53:59 +0000
       
       applied Hiltjo's cleanup patch
       Diffstat:
         M dwm.c                               |      14 +++-----------
       
       1 file changed, 3 insertions(+), 11 deletions(-)
       ---
   DIR diff --git a/dwm.c b/dwm.c
       t@@ -267,7 +267,6 @@ static void (*handler[LASTEvent]) (XEvent *) = {
                [UnmapNotify] = unmapnotify
        };
        static Atom wmatom[WMLast], netatom[NetLast];
       -static Bool otherwm;
        static Bool running = True;
        static Cursor cursor[CurLast];
        static Display *dpy;
       t@@ -458,13 +457,10 @@ buttonpress(XEvent *e) {
        
        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);
       -        if(otherwm)
       -                die("dwm: another window manager is already running\n");
                XSetErrorHandler(xerror);
                XSync(dpy, False);
        }
       t@@ -994,12 +990,11 @@ initfont(const char *fontstr) {
                        XFreeStringList(missing);
                }
                if(dc.font.set) {
       -                XFontSetExtents *font_extents;
                        XFontStruct **xfonts;
                        char **font_names;
        
                        dc.font.ascent = dc.font.descent = 0;
       -                font_extents = XExtentsOfFontSet(dc.font.set);
       +                XExtentsOfFontSet(dc.font.set);
                        n = XFontsOfFontSet(dc.font.set, &xfonts, &font_names);
                        for(i = 0, dc.font.ascent = 0, dc.font.descent = 0; i < n; i++) {
                                dc.font.ascent = MAX(dc.font.ascent, (*xfonts)->ascent);
       t@@ -1088,14 +1083,12 @@ killclient(const Arg *arg) {
        
        void
        manage(Window w, XWindowAttributes *wa) {
       -        static Client cz;
                Client *c, *t = NULL;
                Window trans = None;
                XWindowChanges wc;
        
       -        if(!(c = malloc(sizeof(Client))))
       +        if(!(c = calloc(1, sizeof(Client))))
                        die("fatal: could not malloc() %u bytes\n", sizeof(Client));
       -        *c = cz;
                c->win = w;
                updatetitle(c);
                if(XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) {
       t@@ -1579,7 +1572,6 @@ showhide(Client *c) {
                }
        }
        
       -
        void
        sigchld(int unused) {
                if(signal(SIGCHLD, sigchld) == SIG_ERR)
       t@@ -2015,7 +2007,7 @@ xerrordummy(Display *dpy, XErrorEvent *ee) {
         * is already running. */
        int
        xerrorstart(Display *dpy, XErrorEvent *ee) {
       -        otherwm = True;
       +        die("dwm: another window manager is already running\n");
                return -1;
        }