24 lines
		
	
	
		
			411 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			411 B
		
	
	
	
		
			C
		
	
	
	
	
	
void
 | 
						|
aspectresize(const Arg *arg)
 | 
						|
{
 | 
						|
	/* only floating windows can be moved */
 | 
						|
	Client *c;
 | 
						|
	c = selmon->sel;
 | 
						|
	float ratio;
 | 
						|
	int w, h,nw, nh;
 | 
						|
 | 
						|
	if (!c || !arg)
 | 
						|
		return;
 | 
						|
	if (selmon->lt[selmon->sellt]->arrange && !c->isfloating)
 | 
						|
		return;
 | 
						|
 | 
						|
	ratio = (float)c->w / (float)c->h;
 | 
						|
	h = arg->i;
 | 
						|
	w = (int)(ratio * h);
 | 
						|
 | 
						|
	nw = c->w + w;
 | 
						|
	nh = c->h + h;
 | 
						|
 | 
						|
	XRaiseWindow(dpy, c->win);
 | 
						|
	resize(c, c->x, c->y, nw, nh, True);
 | 
						|
} |