sites

public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log | Files | Refs

index.md (1441B)


      1 aspectresize
      2 ============
      3 
      4 Description
      5 -----------
      6 This patch you to resize the window with its aspect ratio remain constant, use
      7 moveresize patch for manual resize.
      8 
      9 Usage
     10 -----
     11 1. Put the following `aspectresize()` function somewhere in your `dwm.c`,
     12   **after** the line which includes the config.h file:
     13 
     14         void
     15         aspectresize(const Arg *arg) {
     16         	/* only floating windows can be moved */
     17         	Client *c;
     18         	c = selmon->sel;
     19         	float ratio;
     20         	int w, h,nw, nh;
     21         
     22         	if (!c || !arg)
     23         		return;
     24         	if (selmon->lt[selmon->sellt]->arrange && !c->isfloating)
     25         		return;
     26         
     27         	ratio = (float)c->w / (float)c->h;
     28         	h = arg->i;
     29         	w = (int)(ratio * h);
     30         
     31         	nw = c->w + w;
     32         	nh = c->h + h;
     33         
     34         	XRaiseWindow(dpy, c->win);
     35         	resize(c, c->x, c->y, nw, nh, True);
     36         }
     37  
     38 
     39 2. Add a aspectresize() function definition in dwm.c below the line:
     40 	static void aspectresize(const Arg *arg);
     41 
     42 3. You can use Mod+Shift+j to increase size and Mod+Shift+k to decrease the size of client
     43    which respects client's aspect ratio:
     44 
     45 	{ MODKEY|ShiftMask,             XK_j,      aspectresize,   {.i = +24} },
     46 	{ MODKEY|ShiftMask,             XK_k,      aspectresize,   {.i = -24} },
     47 
     48 Download
     49 --------
     50 * [dwm-aspectresize-6.2.diff](dwm-aspectresize-6.2.diff)
     51 
     52 Authors
     53 -------
     54 * Dhaval Patel - <dhavalpatel32768@gmail.com>