|
|
@@ -207,6 +207,24 @@ configurerequest(XEvent *e) {
|
|
|
XSync(dpy, False);
|
|
|
}
|
|
|
|
|
|
+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;
|
|
|
@@ -333,6 +351,7 @@ unmapnotify(XEvent *e) {
|
|
|
void (*handler[LASTEvent]) (XEvent *) = {
|
|
|
[ButtonPress] = buttonpress,
|
|
|
[ConfigureRequest] = configurerequest,
|
|
|
+ [ConfigureNotify] = configurenotify,
|
|
|
[DestroyNotify] = destroynotify,
|
|
|
[EnterNotify] = enternotify,
|
|
|
[LeaveNotify] = leavenotify,
|