applied patch of Paul Liu to allow onthefly resizing due to xrandr changes
This commit is contained in:
parent
7c9fa2566f
commit
f9e7a33019
19
event.c
19
event.c
@ -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,
|
||||
|
5
layout.c
5
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;
|
||||
|
3
main.c
3
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++);
|
||||
|
Loading…
Reference in New Issue
Block a user