about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAnselm R. Garbe <arg@10kloc.org>2006-08-29 17:31:55 +0200
committerAnselm R. Garbe <arg@10kloc.org>2006-08-29 17:31:55 +0200
commitaa1bda81646e9d6188fd584009be0eee619f6966 (patch)
tree28ad2d6e4d602b738a154d6befc62bfef9107819
parent157ea539a2d1926ee3a9d2fe713eba0b9428f685 (diff)
downloaddwm-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.c12
-rw-r--r--tag.c6
2 files changed, 14 insertions, 4 deletions
diff --git a/event.c b/event.c
index c7a0b15..0f74478 100644
--- a/event.c
+++ b/event.c
@@ -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);
 	}
diff --git a/tag.c b/tag.c
index ddffafa..b7c06de 100644
--- a/tag.c
+++ b/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 @@ 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();
 }