URI: 
       applied patch of Paul Liu to allow onthefly resizing due to xrandr changes - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit f9e7a330190259a54449837a16c2af66fa823d30
   DIR parent 7c9fa2566f5b3bd1c9745086ff624967415c2c4e
  HTML Author: Anselm R. Garbe <arg@suckless.org>
       Date:   Mon,  7 May 2007 13:12:41 +0200
       
       applied patch of Paul Liu to allow onthefly resizing due to xrandr changes
       Diffstat:
         M event.c                             |      19 +++++++++++++++++++
         M layout.c                            |       5 ++++-
         M main.c                              |       3 ++-
       
       3 files changed, 25 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/event.c b/event.c
       @@ -208,6 +208,24 @@ configurerequest(XEvent *e) {
        }
        
        static void
       +configurenotify(XEvent *e) {
       +        Client *c;
       +        XConfigureEvent *ev = &e->xconfigure;
       +        XWindowChanges wc;
       +
       +        if (ev->window == root && (ev->width != sw || ev->height != sh)) {
       +                sw = ev->width;
       +                sh = ev->height;
       +                wah = sh - bh;
       +                waw = sw;
       +                XFreePixmap(dpy, dc.drawable);
       +                dc.drawable = XCreatePixmap(dpy, root, sw, bh, DefaultDepth(dpy, screen));
       +                XResizeWindow(dpy, barwin, sw, bh);
       +                lt->arrange();
       +        }
       +}
       +
       +static void
        destroynotify(XEvent *e) {
                Client *c;
                XDestroyWindowEvent *ev = &e->xdestroywindow;
       @@ -333,6 +351,7 @@ unmapnotify(XEvent *e) {
        void (*handler[LASTEvent]) (XEvent *) = {
                [ButtonPress] = buttonpress,
                [ConfigureRequest] = configurerequest,
       +        [ConfigureNotify] = configurenotify,
                [DestroyNotify] = destroynotify,
                [EnterNotify] = enternotify,
                [LeaveNotify] = leavenotify,
   DIR diff --git a/layout.c b/layout.c
       @@ -46,7 +46,10 @@ tile(void) {
                                        nw = tw - 2 * c->border;
                                        if(th > 2 * c->border) {
                                                ny += (i - nmaster) * th;
       -                                        nh = th - 2 * c->border;
       +                                        if(i == n - 1)
       +                                                nh = wah - ny - 2 * c->border;
       +                                        else
       +                                                nh = th - 2 * c->border;
                                        }
                                        else /* fallback if th <= 2 * c->border */
                                                nh = wah - 2 * c->border;
   DIR diff --git a/main.c b/main.c
       @@ -163,9 +163,10 @@ setup(void) {
                XFreeModifiermap(modmap);
                /* select for events */
                wa.event_mask = SubstructureRedirectMask | SubstructureNotifyMask
       -                | EnterWindowMask | LeaveWindowMask;
       +                | EnterWindowMask | LeaveWindowMask | StructureNotifyMask;
                wa.cursor = cursor[CurNormal];
                XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
       +        XSelectInput(dpy, root, wa.event_mask);
                grabkeys();
                compileregs();
                for(ntags = 0; tags[ntags]; ntags++);