forked from mirror/dwm
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)
This commit is contained in:
parent
157ea539a2
commit
aa1bda8164
2 changed files with 14 additions and 4 deletions
12
event.c
12
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);
|
||||
}
|
||||
|
|
6
tag.c
6
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();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue