diff options
author | Anselm R. Garbe <arg@10kloc.org> | 2006-08-29 17:31:55 +0200 |
---|---|---|
committer | Anselm R. Garbe <arg@10kloc.org> | 2006-08-29 17:31:55 +0200 |
commit | aa1bda81646e9d6188fd584009be0eee619f6966 (patch) | |
tree | 28ad2d6e4d602b738a154d6befc62bfef9107819 | |
parent | 157ea539a2d1926ee3a9d2fe713eba0b9428f685 (diff) | |
download | dwm-aa1bda81646e9d6188fd584009be0eee619f6966.tar.gz |
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)
-rw-r--r-- | event.c | 12 | ||||
-rw-r--r-- | tag.c | 6 |
2 files changed, 14 insertions, 4 deletions
@@ -150,6 +150,7 @@ buttonpress(XEvent *e) static void configurerequest(XEvent *e) { + int ox, oy, ow, oh; unsigned long newmask; Client *c; XConfigureRequestEvent *ev = &e->xconfigurerequest; @@ -157,6 +158,10 @@ configurerequest(XEvent *e) 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 @@ configurerequest(XEvent *e) 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); } @@ -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 @@ tag(Arg *arg) for(i = 0; i < ntags; i++) sel->tags[i] = False; sel->tags[arg->i] = True; - applytag(); + commit(); } void @@ -147,5 +147,5 @@ toggletag(Arg *arg) for(i = 0; i < ntags && !sel->tags[i]; i++); if(i == ntags) sel->tags[arg->i] = True; - applytag(); + commit(); } |