Configure geometry before applying rules
Configuring geometry before applying rules makes it possible to have more complex constraints in applyrules that depend on the initial window dimensions and location.
This commit is contained in:
		
							parent
							
								
									3465bed290
								
							
						
					
					
						commit
						cd2d7549b3
					
				
							
								
								
									
										13
									
								
								dwm.c
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								dwm.c
									
									
									
									
									
								
							| @ -1043,6 +1043,13 @@ manage(Window w, XWindowAttributes *wa) | |||||||
| 
 | 
 | ||||||
| 	c = ecalloc(1, sizeof(Client)); | 	c = ecalloc(1, sizeof(Client)); | ||||||
| 	c->win = w; | 	c->win = w; | ||||||
|  | 	/* geometry */ | ||||||
|  | 	c->x = c->oldx = wa->x; | ||||||
|  | 	c->y = c->oldy = wa->y; | ||||||
|  | 	c->w = c->oldw = wa->width; | ||||||
|  | 	c->h = c->oldh = wa->height; | ||||||
|  | 	c->oldbw = wa->border_width; | ||||||
|  | 
 | ||||||
| 	updatetitle(c); | 	updatetitle(c); | ||||||
| 	if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) { | 	if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) { | ||||||
| 		c->mon = t->mon; | 		c->mon = t->mon; | ||||||
| @ -1051,12 +1058,6 @@ manage(Window w, XWindowAttributes *wa) | |||||||
| 		c->mon = selmon; | 		c->mon = selmon; | ||||||
| 		applyrules(c); | 		applyrules(c); | ||||||
| 	} | 	} | ||||||
| 	/* geometry */ |  | ||||||
| 	c->x = c->oldx = wa->x; |  | ||||||
| 	c->y = c->oldy = wa->y; |  | ||||||
| 	c->w = c->oldw = wa->width; |  | ||||||
| 	c->h = c->oldh = wa->height; |  | ||||||
| 	c->oldbw = wa->border_width; |  | ||||||
| 
 | 
 | ||||||
| 	if (c->x + WIDTH(c) > c->mon->mx + c->mon->mw) | 	if (c->x + WIDTH(c) > c->mon->mx + c->mon->mw) | ||||||
| 		c->x = c->mon->mx + c->mon->mw - WIDTH(c); | 		c->x = c->mon->mx + c->mon->mw - WIDTH(c); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user