tapplied patch of Paul Liu to allow onthefly resizing due to xrandr changes - d… | |
git clone git://src.adamsgaard.dk/dwm | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit f9e7a330190259a54449837a16c2af66fa823d30 | |
parent 7c9fa2566f5b3bd1c9745086ff624967415c2c4e | |
Author: Anselm R. Garbe <[email protected]> | |
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(-) | |
--- | |
diff --git a/event.c b/event.c | |
t@@ -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(dp… | |
+ XResizeWindow(dpy, barwin, sw, bh); | |
+ lt->arrange(); | |
+ } | |
+} | |
+ | |
+static void | |
destroynotify(XEvent *e) { | |
Client *c; | |
XDestroyWindowEvent *ev = &e->xdestroywindow; | |
t@@ -333,6 +351,7 @@ unmapnotify(XEvent *e) { | |
void (*handler[LASTEvent]) (XEvent *) = { | |
[ButtonPress] = buttonpress, | |
[ConfigureRequest] = configurerequest, | |
+ [ConfigureNotify] = configurenotify, | |
[DestroyNotify] = destroynotify, | |
[EnterNotify] = enternotify, | |
[LeaveNotify] = leavenotify, | |
diff --git a/layout.c b/layout.c | |
t@@ -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; | |
diff --git a/main.c b/main.c | |
t@@ -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++); |