26 lines
		
	
	
		
			413 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			413 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);
 | |
| }
 | |
| 
 |