configurenotify remembers max geom now, and restores this if necessary, however it accepts to touch the max size on configurerequest, this shouldn't break fillscreen apps (tested with mplayer)
Anselm R. Garbe arg@10kloc.org
Tue, 29 Aug 2006 17:31:55 +0200
M
event.c
→
event.c
@@ -150,6 +150,7 @@
static void configurerequest(XEvent *e) { + int ox, oy, ow, oh; unsigned long newmask; Client *c; XConfigureRequestEvent *ev = &e->xconfigurerequest;@@ -157,6 +158,10 @@ XEvent synev;
XWindowChanges wc; if((c = getclient(ev->window))) { + ox = c->x; + oy = c->y; + ow = c->w; + oh = c->h; gravitate(c, True); if(ev->value_mask & CWX) c->x = ev->x;@@ -191,8 +196,13 @@ /* Send synthetic ConfigureNotify */
XSendEvent(dpy, c->win, True, NoEventMask, &synev); } XSync(dpy, False); - if(c->isfloat) + if(c->isfloat || c->ismax) { resize(c, False, TopLeft); + c->x = ox; + c->y = oy; + c->w = ow; + c->h = oh; + } else arrange(NULL); }
M
tag.c
→
tag.c
@@ -31,7 +31,7 @@ static RReg *rreg = NULL;
static unsigned int len = 0; static void -applytag() +commit() { /* asserts sel != NULL */ settitle(sel);@@ -132,7 +132,7 @@
for(i = 0; i < ntags; i++) sel->tags[i] = False; sel->tags[arg->i] = True; - applytag(); + commit(); } void@@ -147,5 +147,5 @@ sel->tags[arg->i] = !sel->tags[arg->i];
for(i = 0; i < ntags && !sel->tags[i]; i++); if(i == ntags) sel->tags[arg->i] = True; - applytag(); + commit(); }