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)

keyboard
Anselm R. Garbe 18 years ago
parent 157ea539a2
commit aa1bda8164
  1. 12
      event.c
  2. 6
      tag.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);
}

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

Loading…
Cancel
Save