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