JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
applied patch of Paul Liu to allow onthefly resizing due to xrandr changes
[dwm.git] / event.c
diff --git a/event.c b/event.c
index 72e9ccd..c89850a 100644 (file)
--- 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,