| index.md - sites - public wiki contents of suckless.org | |
| git clone git://git.suckless.org/sites | |
| Log | |
| Files | |
| Refs | |
| --- | |
| index.md (1805B) | |
| --- | |
| 1 movetoedge | |
| 2 ========== | |
| 3 | |
| 4 Description | |
| 5 ----------- | |
| 6 This patch adds functionality to move windows to edges easily. | |
| 7 | |
| 8 Usage | |
| 9 ----- | |
| 10 1. Put the following `movetoedge()` function somewhere in your `dwm.c`, | |
| 11 **after** the line which includes the config.h file: | |
| 12 | |
| 13 void | |
| 14 movetoedge(const Arg *arg) { | |
| 15 /* only floating windows can be moved */ | |
| 16 Client *c; | |
| 17 c = selmon->sel; | |
| 18 int x, y, nx, ny; | |
| 19 | |
| 20 if (!c || !arg) | |
| 21 return; | |
| 22 if (selmon->lt[selmon->sellt]->arrange && !c->isfloating) | |
| 23 return; | |
| 24 if (sscanf((char *)arg->v, "%d %d", &x, &y) != 2) | |
| 25 return; | |
| 26 | |
| 27 if(x == 0) | |
| 28 nx = (selmon->mw - c->w)/2; | |
| 29 else if(x == -1) | |
| 30 nx = borderpx; | |
| 31 else if(x == 1) | |
| 32 nx = selmon->mw - (c->w + 2 * borderpx); | |
| 33 else | |
| 34 nx = c->x; | |
| 35 | |
| 36 if(y == 0) | |
| 37 ny = (selmon->mh - (c->h + bh))/2; | |
| 38 else if(y == -1) | |
| 39 ny = bh + borderpx; | |
| 40 else if(y == 1) | |
| 41 ny = selmon->mh - (c->h + 2 * borderpx); | |
| 42 else | |
| 43 ny = c->y; | |
| 44 | |
| 45 | |
| 46 XRaiseWindow(dpy, c->win); | |
| 47 resize(c, nx, ny, c->w, c->h, True); | |
| 48 } | |
| 49 | |
| 50 2. Add a movetoedge() function definition in dwm.c below the line: | |
| 51 static void movetoedge(const Arg *arg); | |
| 52 | |
| 53 3. In config file : | |
| 54 { MODKEY, XK_KP_End, movetoedge, … | |
| 55 { MODKEY, XK_KP_Down, movetoedge, … | |
| 56 { MODKEY, XK_KP_Next, movetoedge, … | |
| 57 { MODKEY, XK_KP_Left, movetoedge, … | |
| 58 { MODKEY, XK_KP_Begin, movetoedge, … | |
| 59 { MODKEY, XK_KP_Right, movetoedge, … | |
| 60 { MODKEY, XK_KP_Home, movetoedge, … | |
| 61 { MODKEY, XK_KP_Up, movetoedge, … | |
| 62 { MODKEY, XK_KP_Prior, movetoedge, … | |
| 63 | |
| 64 Download | |
| 65 -------- | |
| 66 * [dwm-movetoedge-6.2.diff](dwm-movetoedge-6.2.diff) | |
| 67 | |
| 68 Authors | |
| 69 ------- | |
| 70 * Dhaval Patel - <[email protected]> |