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…
	
	Add table
		Add a link
		
	
		Reference in a new issue