URI: 
       removing Sylvain's patch because it breaks more than it fixes unfortunately, re-issuing a bugfix release 5.8.1 - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 5c6545adf5e2fc7011bd53735910f66998cade64
   DIR parent a704b1ee34dd84fa5ba65ed1981eb3a69bf8633f
  HTML Author: Anselm R Garbe <anselm@garbe.us>
       Date:   Sat, 29 May 2010 12:48:11 +0100
       
       removing Sylvain's patch because it breaks more than it fixes unfortunately, re-issuing a bugfix release 5.8.1
       Diffstat:
         M config.mk                           |       2 +-
         M dwm.c                               |      20 +-------------------
       
       2 files changed, 2 insertions(+), 20 deletions(-)
       ---
   DIR diff --git a/config.mk b/config.mk
       @@ -1,5 +1,5 @@
        # dwm version
       -VERSION = 5.8
       +VERSION = 5.8.1
        
        # Customize below to fit your system
        
   DIR diff --git a/dwm.c b/dwm.c
       @@ -57,8 +57,7 @@
        /* enums */
        enum { CurNormal, CurResize, CurMove, CurLast };        /* cursor */
        enum { ColBorder, ColFG, ColBG, ColLast };              /* color */
       -enum { NetSupported, NetWMName, NetWMState,
       -       NetWMFullscreen, NetLast };                      /* EWMH atoms */
       +enum { NetSupported, NetWMName, NetWMState, NetLast };  /* EWMH atoms */
        enum { WMProtocols, WMDelete, WMState, WMLast };        /* default atoms */
        enum { ClkTagBar, ClkLtSymbol, ClkStatusText, ClkWinTitle,
               ClkClientWin, ClkRootWin, ClkLast };             /* clicks */
       @@ -162,7 +161,6 @@ static void checkotherwm(void);
        static void cleanup(void);
        static void cleanupmon(Monitor *mon);
        static void clearurgent(Client *c);
       -static void clientmessage(XEvent *e);
        static void configure(Client *c);
        static void configurenotify(XEvent *e);
        static void configurerequest(XEvent *e);
       @@ -251,7 +249,6 @@ static int (*xerrorxlib)(Display *, XErrorEvent *);
        static unsigned int numlockmask = 0;
        static void (*handler[LASTEvent]) (XEvent *) = {
                [ButtonPress] = buttonpress,
       -        [ClientMessage] = clientmessage,
                [ConfigureRequest] = configurerequest,
                [ConfigureNotify] = configurenotify,
                [DestroyNotify] = destroynotify,
       @@ -1295,20 +1292,6 @@ propertynotify(XEvent *e) {
        }
        
        void
       -clientmessage(XEvent *e) {
       -        XClientMessageEvent *cme = &e->xclient;
       -
       -        if(cme->message_type == netatom[NetWMState] && cme->data.l[1] == netatom[NetWMFullscreen]) {
       -                if(cme->data.l[0])
       -                        XChangeProperty(dpy, cme->window, netatom[NetWMState], XA_ATOM, 32,
       -                                        PropModeReplace, (unsigned char*)&netatom[NetWMFullscreen], 1);
       -                else
       -                        XChangeProperty(dpy, cme->window, netatom[NetWMState], XA_ATOM, 32,
       -                                        PropModeReplace, (unsigned char*)0, 0);
       -        }
       -}
       -
       -void
        quit(const Arg *arg) {
                running = False;
        }
       @@ -1512,7 +1495,6 @@ setup(void) {
                netatom[NetSupported] = XInternAtom(dpy, "_NET_SUPPORTED", False);
                netatom[NetWMName] = XInternAtom(dpy, "_NET_WM_NAME", False);
                netatom[NetWMState] = XInternAtom(dpy, "_NET_WM_STATE", False);
       -        netatom[NetWMFullscreen] = XInternAtom(dpy, "_NET_WM_STATE_FULLSCREEN", False);
                /* init cursors */
                cursor[CurNormal] = XCreateFontCursor(dpy, XC_left_ptr);
                cursor[CurResize] = XCreateFontCursor(dpy, XC_sizing);