aboutsummaryrefslogtreecommitdiffstats
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();
}