wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit a56081487cace9518c1c682b1628393b2e132f55
parent 623147ed85d50e59fe08be61868dded61055d0bb
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Thu, 27 Apr 2006 19:49:43 +0200

not ignoring conf requests if managed, but skipping all new geom


Diffstat:
cmd/wm/event.c | 82++++++++++++++++++++++++++++++++++++++-----------------------------------------
1 file changed, 39 insertions(+), 43 deletions(-)

diff --git a/cmd/wm/event.c b/cmd/wm/event.c @@ -122,47 +122,45 @@ handle_configurerequest(XEvent *e) c = client_of_win(ev->window); ev->value_mask &= ~CWSibling; if(c) { - - if(c->frame.size && idx_of_area(c->frame.data[c->sel]->area)) - return; - - gravitate_client(c, True); - - if(c->frame.size) { - if(ev->value_mask & CWX) - c->rect.x = ev->x; - if(ev->value_mask & CWY) - c->rect.y = ev->y; - if(ev->value_mask & CWWidth) - c->rect.width = ev->width; - if(ev->value_mask & CWHeight) - c->rect.height = ev->height; - } - if(ev->value_mask & CWBorderWidth) - c->border = ev->border_width; - - gravitate_client(c, False); - - if(c->frame.size) { - Frame *f = c->frame.data[c->sel]; - if(c->rect.width >= rect.width && c->rect.height >= rect.height) { - f->rect.x = wc.x = -def.border; - f->rect.y = wc.y = -height_of_bar(); + if(c->frame.size && !idx_of_area(c->frame.data[c->sel]->area)) { + gravitate_client(c, True); + + if(c->frame.size) { + if(ev->value_mask & CWX) + c->rect.x = ev->x; + if(ev->value_mask & CWY) + c->rect.y = ev->y; + if(ev->value_mask & CWWidth) + c->rect.width = ev->width; + if(ev->value_mask & CWHeight) + c->rect.height = ev->height; } - else { - f->rect.x = wc.x = c->rect.x - def.border; - f->rect.y = wc.y = c->rect.y - height_of_bar(); + if(ev->value_mask & CWBorderWidth) + c->border = ev->border_width; + + gravitate_client(c, False); + + if(c->frame.size) { + Frame *f = c->frame.data[c->sel]; + if(c->rect.width >= rect.width && c->rect.height >= rect.height) { + f->rect.x = wc.x = -def.border; + f->rect.y = wc.y = -height_of_bar(); + } + else { + f->rect.x = wc.x = c->rect.x - def.border; + f->rect.y = wc.y = c->rect.y - height_of_bar(); + } + f->rect.width = wc.width = c->rect.width + 2 * def.border; + f->rect.height = wc.height = c->rect.height + def.border + + height_of_bar(); + wc.border_width = 1; + wc.sibling = None; + wc.stack_mode = ev->detail; + if(f->area->view != view.data[sel]) + f->rect.x += 2 * rect.width; + XConfigureWindow(dpy, c->framewin, ev->value_mask, &wc); + configure_client(c); } - f->rect.width = wc.width = c->rect.width + 2 * def.border; - f->rect.height = wc.height = c->rect.height + def.border - + height_of_bar(); - wc.border_width = 1; - wc.sibling = None; - wc.stack_mode = ev->detail; - if(f->area->view != view.data[sel]) - f->rect.x += 2 * rect.width; - XConfigureWindow(dpy, c->framewin, ev->value_mask, &wc); - configure_client(c); } } @@ -174,10 +172,8 @@ handle_configurerequest(XEvent *e) if(c && c->frame.size) { wc.x = def.border; wc.y = height_of_bar(); - if(idx_of_area(c->frame.data[c->sel]->area) > 0) { - wc.width = c->rect.width; - wc.height = c->rect.height; - } + wc.width = c->rect.width; + wc.height = c->rect.height; } wc.border_width = 0;