diff -r 27410727480a -r 067a7784150e event.c --- a/event.c Thu Apr 19 09:26:44 2007 +0200 +++ b/event.c Mon May 07 13:12:41 2007 +0200 @@ -208,6 +208,24 @@ } 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 @@ void (*handler[LASTEvent]) (XEvent *) = { [ButtonPress] = buttonpress, [ConfigureRequest] = configurerequest, + [ConfigureNotify] = configurenotify, [DestroyNotify] = destroynotify, [EnterNotify] = enternotify, [LeaveNotify] = leavenotify,