xiwm

simple window manager
git clone https://git.ce9e.org/xiwm.git

commit
c3de4d7608060f3d26bf668a2a0e27fffd815b34
parent
16766b00b73650c3fc539ea25d8c55cec1ed0da3
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2019-10-13 07:24
simplify configurerequest

Diffstat

M xiwm.c 34 ++++------------------------------

1 files changed, 4 insertions, 30 deletions


diff --git a/xiwm.c b/xiwm.c

@@ -676,38 +676,12 @@ configurerequest(XEvent *e)
  676   676 {
  677   677 	Client *c;
  678   678 	XConfigureRequestEvent *ev = &e->xconfigurerequest;
  679    -1 	XWindowChanges wc;
   -1   679 	XWindowChanges wc = { ev->x, ev->y, ev->width, ev->height, ev->border_width, ev->above, ev->detail };
  680   680 
  681    -1 	if ((c = wintoclient(ev->window))) {
  682    -1 		if (c->position < 0) {
  683    -1 			if (ev->value_mask & CWX) {
  684    -1 				c->x = ev->x;
  685    -1 			}
  686    -1 			if (ev->value_mask & CWY) {
  687    -1 				c->y = ev->y;
  688    -1 			}
  689    -1 			if (ev->value_mask & CWWidth) {
  690    -1 				c->w = ev->width;
  691    -1 			}
  692    -1 			if (ev->value_mask & CWHeight) {
  693    -1 				c->h = ev->height;
  694    -1 			}
  695    -1 			if ((ev->value_mask & (CWX|CWY)) && !(ev->value_mask & (CWWidth|CWHeight)))
  696    -1 				configure(c);
  697    -1 			if (ISVISIBLE(c) || c->isdock)
  698    -1 				XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h);
  699    -1 		} else
  700    -1 			configure(c);
  701    -1 	} else {
  702    -1 		wc.x = ev->x;
  703    -1 		wc.y = ev->y;
  704    -1 		wc.width = ev->width;
  705    -1 		wc.height = ev->height;
  706    -1 		wc.border_width = ev->border_width;
  707    -1 		wc.sibling = ev->above;
  708    -1 		wc.stack_mode = ev->detail;
   -1   681 	if ((c = wintoclient(ev->window)) && !c->isdock) {
   -1   682 		configure(c);
   -1   683 	} else
  709   684 		XConfigureWindow(dpy, ev->window, ev->value_mask, &wc);
  710    -1 	}
  711   685 	XSync(dpy, False);
  712   686 }
  713   687