all repos — dwm @ 3167373512c562f8f040203d2ee29084c76d00a0

my dwm build

fixed configurerequest according to the problem Jukka reported
Anselm R. Garbe arg@suckless.org
Mon, 19 Feb 2007 11:03:27 +0100
commit

3167373512c562f8f040203d2ee29084c76d00a0

parent

4cff744438a8ee1dc3928503a297c73cc9ad96d0

1 files changed, 16 insertions(+), 11 deletions(-)

jump to
M event.cevent.c

@@ -165,6 +165,7 @@ }

static void configurerequest(XEvent *e) { + int x, y, w, h; Client *c; XConfigureRequestEvent *ev = &e->xconfigurerequest; XWindowChanges wc;

@@ -174,20 +175,24 @@ c->ismax = False;

if(ev->value_mask & CWBorderWidth) c->border = ev->border_width; if(c->isfixed || c->isfloat || (arrange == dofloat)) { - if(ev->value_mask & CWX) - c->x = ev->x; - if(ev->value_mask & CWY) - c->y = ev->y; - if(ev->value_mask & CWWidth) - c->w = ev->width; - if(ev->value_mask & CWHeight) - c->h = ev->height; + x = (ev->value_mask & CWX) ? ev->x : c->x; + y = (ev->value_mask & CWY) ? ev->y : c->y; + w = (ev->value_mask & CWWidth) ? ev->width : c->w; + h = (ev->value_mask & CWHeight) ? ev->height : c->h; if((ev->value_mask & (CWX | CWY)) && !(ev->value_mask & (CWWidth | CWHeight))) + { + c->x = x; + c->y = y; configure(c); - resize(c, c->x, c->y, c->w, c->h, False); - if(!isvisible(c)) - ban(c); + if(isvisible(c)) + XMoveWindow(dpy, c->win, c->x, c->y); + } + else { + resize(c, x, y, w, h, False); + if(!isvisible(c)) + ban(c); + } } else configure(c);