diff options
| author | Eric Pruitt <eric.pruitt@gmail.com> | 2016-05-25 16:33:11 -0700 | 
|---|---|---|
| committer | Anselm R Garbe <anselm@garbe.us> | 2016-06-24 05:38:58 +0200 | 
| commit | cd2d7549b3ae5ec234b45d85608f79f4d3aaa851 (patch) | |
| tree | ad0ff250266c4fbe6f9125de922bab75ac95cdde | |
| parent | 3465bed290abc62cb2e69a8096084ba6b8eb4956 (diff) | |
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.
| -rw-r--r-- | dwm.c | 13 | 
1 files changed, 7 insertions, 6 deletions
| @@ -1043,6 +1043,13 @@ manage(Window w, XWindowAttributes *wa)  	c = ecalloc(1, sizeof(Client));  	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);  	if (XGetTransientForHint(dpy, w, &trans) && (t = wintoclient(trans))) {  		c->mon = t->mon; @@ -1051,12 +1058,6 @@ manage(Window w, XWindowAttributes *wa)  		c->mon = selmon;  		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)  		c->x = c->mon->mx + c->mon->mw - WIDTH(c); | 
