index.md - sites - public wiki contents of suckless.org
(HTM) git clone git://git.suckless.org/sites
(DIR) Log
(DIR) Files
(DIR) 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>