diff options
| author | Anselm R. Garbe <arg@10kloc.org> | 2006-08-29 17:31:55 +0200 | 
|---|---|---|
| committer | Anselm R. Garbe <arg@10kloc.org> | 2006-08-29 17:31:55 +0200 | 
| commit | aa1bda81646e9d6188fd584009be0eee619f6966 (patch) | |
| tree | 28ad2d6e4d602b738a154d6befc62bfef9107819 | |
| parent | 157ea539a2d1926ee3a9d2fe713eba0b9428f685 (diff) | |
| download | dwm-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.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();  } | 
