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);
|
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
|
static void
|
||||||
destroynotify(XEvent *e) {
|
destroynotify(XEvent *e) {
|
||||||
Client *c;
|
Client *c;
|
||||||
@ -333,6 +351,7 @@ unmapnotify(XEvent *e) {
|
|||||||
void (*handler[LASTEvent]) (XEvent *) = {
|
void (*handler[LASTEvent]) (XEvent *) = {
|
||||||
[ButtonPress] = buttonpress,
|
[ButtonPress] = buttonpress,
|
||||||
[ConfigureRequest] = configurerequest,
|
[ConfigureRequest] = configurerequest,
|
||||||
|
[ConfigureNotify] = configurenotify,
|
||||||
[DestroyNotify] = destroynotify,
|
[DestroyNotify] = destroynotify,
|
||||||
[EnterNotify] = enternotify,
|
[EnterNotify] = enternotify,
|
||||||
[LeaveNotify] = leavenotify,
|
[LeaveNotify] = leavenotify,
|
||||||
|
3
layout.c
3
layout.c
@ -46,6 +46,9 @@ tile(void) {
|
|||||||
nw = tw - 2 * c->border;
|
nw = tw - 2 * c->border;
|
||||||
if(th > 2 * c->border) {
|
if(th > 2 * c->border) {
|
||||||
ny += (i - nmaster) * th;
|
ny += (i - nmaster) * th;
|
||||||
|
if(i == n - 1)
|
||||||
|
nh = wah - ny - 2 * c->border;
|
||||||
|
else
|
||||||
nh = th - 2 * c->border;
|
nh = th - 2 * c->border;
|
||||||
}
|
}
|
||||||
else /* fallback if th <= 2 * c->border */
|
else /* fallback if th <= 2 * c->border */
|
||||||
|
3
main.c
3
main.c
@ -163,9 +163,10 @@ setup(void) {
|
|||||||
XFreeModifiermap(modmap);
|
XFreeModifiermap(modmap);
|
||||||
/* select for events */
|
/* select for events */
|
||||||
wa.event_mask = SubstructureRedirectMask | SubstructureNotifyMask
|
wa.event_mask = SubstructureRedirectMask | SubstructureNotifyMask
|
||||||
| EnterWindowMask | LeaveWindowMask;
|
| EnterWindowMask | LeaveWindowMask | StructureNotifyMask;
|
||||||
wa.cursor = cursor[CurNormal];
|
wa.cursor = cursor[CurNormal];
|
||||||
XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
|
XChangeWindowAttributes(dpy, root, CWEventMask | CWCursor, &wa);
|
||||||
|
XSelectInput(dpy, root, wa.event_mask);
|
||||||
grabkeys();
|
grabkeys();
|
||||||
compileregs();
|
compileregs();
|
||||||
for(ntags = 0; tags[ntags]; ntags++);
|
for(ntags = 0; tags[ntags]; ntags++);
|
||||||
|
Loading…
Reference in New Issue
Block a user