t* dwm + patches
       
   URI git clone git://git.codevoid.de/dwm-sdk
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 30d928591dbdb40d06c5973f6f3bda7a0c16e3e7
   DIR parent 70a3e62257d05946176aad3dbe19047d3bb705c1
   URI Author: Anselm R. Garbe <arg@10kloc.org>
       Date:   Tue, 29 Aug 2006 19:24:28 +0200
       
       simplified configurerequest
       Diffstat:
         M event.c                             |      47 +++++++++++++++----------------
       
       1 file changed, 22 insertions(+), 25 deletions(-)
       ---
   DIR diff --git a/event.c b/event.c
       t@@ -148,27 +148,35 @@ buttonpress(XEvent *e)
        }
        
        static void
       +synconfig(Client *c, int x, int y, int w, int h, unsigned int border)
       +{
       +        XEvent synev;
       +
       +        synev.type = ConfigureNotify;
       +        synev.xconfigure.display = dpy;
       +        synev.xconfigure.event = c->win;
       +        synev.xconfigure.window = c->win;
       +        synev.xconfigure.x = x;
       +        synev.xconfigure.y = y;
       +        synev.xconfigure.width = w;
       +        synev.xconfigure.height = h;
       +        synev.xconfigure.border_width = border;
       +        synev.xconfigure.above = None;
       +        XSendEvent(dpy, c->win, True, NoEventMask, &synev);
       +}
       +
       +static void
        configurerequest(XEvent *e)
        {
                unsigned long newmask;
                Client *c;
                XConfigureRequestEvent *ev = &e->xconfigurerequest;
       -        XEvent synev;
                XWindowChanges wc;
        
                if((c = getclient(ev->window))) {
                        if(!c->isfloat && (arrange != dofloat) && c->ismax) {
       -                        synev.type = ConfigureNotify;
       -                        synev.xconfigure.display = dpy;
       -                        synev.xconfigure.event = c->win;
       -                        synev.xconfigure.window = c->win;
       -                        synev.xconfigure.x = sx;
       -                        synev.xconfigure.y = sy + bh;
       -                        synev.xconfigure.width = sw - 2;
       -                        synev.xconfigure.height = sw - 2 - bh;
       -                        synev.xconfigure.border_width = ev->border_width;
       -                        synev.xconfigure.above = None;
       -                        XSendEvent(dpy, c->win, True, NoEventMask, &synev);
       +                        synconfig(c, sx, sy + bh, sw - 2, sh - 2 - bh, ev->border_width);
       +                        XSync(dpy, False);
                                return;
                        }
                        gravitate(c, True);
       t@@ -190,19 +198,8 @@ configurerequest(XEvent *e)
                        newmask = ev->value_mask & (~(CWSibling | CWStackMode | CWBorderWidth));
                        if(newmask)
                                XConfigureWindow(dpy, c->win, newmask, &wc);
       -                else {
       -                        synev.type = ConfigureNotify;
       -                        synev.xconfigure.display = dpy;
       -                        synev.xconfigure.event = c->win;
       -                        synev.xconfigure.window = c->win;
       -                        synev.xconfigure.x = c->x;
       -                        synev.xconfigure.y = c->y;
       -                        synev.xconfigure.width = c->w;
       -                        synev.xconfigure.height = c->h;
       -                        synev.xconfigure.border_width = c->border;
       -                        synev.xconfigure.above = None;
       -                        XSendEvent(dpy, c->win, True, NoEventMask, &synev);
       -                }
       +                else
       +                        synconfig(c, c->x, c->y, c->w, c->h, c->border);
                        XSync(dpy, False);
                        if(c->isfloat)
                                resize(c, False, TopLeft);