mirror of
https://github.com/mintycube/dwm.git
synced 2024-10-22 14:05:45 +02:00
Adding moveplace patch
This commit is contained in:
parent
2cb3e697e4
commit
fc8434abd1
@ -15,7 +15,7 @@ Refer to [https://dwm.suckless.org/](https://dwm.suckless.org/) for details on t
|
|||||||
|
|
||||||
### Changelog:
|
### Changelog:
|
||||||
|
|
||||||
2020-05-21 - Added the moveresize patch
|
2020-05-21 - Added the moveplace and moveresize patches
|
||||||
|
|
||||||
2020-05-03 - Added the shiftviewclients patch and the no transparent borders patch which removes opacity from window borders when the alpha patch is not used
|
2020-05-03 - Added the shiftviewclients patch and the no transparent borders patch which removes opacity from window borders when the alpha patch is not used
|
||||||
|
|
||||||
|
59
config.def.h
59
config.def.h
@ -927,33 +927,44 @@ static Key keys[] = {
|
|||||||
{ MODKEY|Mod4Mask, XK_Right, switchtag, { .ui = SWITCHTAG_RIGHT | SWITCHTAG_TAG | SWITCHTAG_VIEW } },
|
{ MODKEY|Mod4Mask, XK_Right, switchtag, { .ui = SWITCHTAG_RIGHT | SWITCHTAG_TAG | SWITCHTAG_VIEW } },
|
||||||
{ MODKEY|Mod4Mask, XK_Left, switchtag, { .ui = SWITCHTAG_LEFT | SWITCHTAG_TAG | SWITCHTAG_VIEW } },
|
{ MODKEY|Mod4Mask, XK_Left, switchtag, { .ui = SWITCHTAG_LEFT | SWITCHTAG_TAG | SWITCHTAG_VIEW } },
|
||||||
#endif // TAGGRID_PATCH
|
#endif // TAGGRID_PATCH
|
||||||
|
#if MOVEPLACE_PATCH
|
||||||
|
{ MODKEY, XK_KP_7, moveplace, {.ui = WIN_NW }}, /* XK_KP_Home, */
|
||||||
|
{ MODKEY, XK_KP_8, moveplace, {.ui = WIN_N }}, /* XK_KP_Up, */
|
||||||
|
{ MODKEY, XK_KP_9, moveplace, {.ui = WIN_NE }}, /* XK_KP_Prior, */
|
||||||
|
{ MODKEY, XK_KP_4, moveplace, {.ui = WIN_W }}, /* XK_KP_Left, */
|
||||||
|
{ MODKEY, XK_KP_5, moveplace, {.ui = WIN_C }}, /* XK_KP_Begin, */
|
||||||
|
{ MODKEY, XK_KP_6, moveplace, {.ui = WIN_E }}, /* XK_KP_Right, */
|
||||||
|
{ MODKEY, XK_KP_1, moveplace, {.ui = WIN_SW }}, /* XK_KP_End, */
|
||||||
|
{ MODKEY, XK_KP_2, moveplace, {.ui = WIN_S }}, /* XK_KP_Down, */
|
||||||
|
{ MODKEY, XK_KP_3, moveplace, {.ui = WIN_SE }}, /* XK_KP_Next, */
|
||||||
|
#endif // MOVEPLACE_PATCH
|
||||||
#if EXRESIZE_PATCH
|
#if EXRESIZE_PATCH
|
||||||
{ MODKEY, XK_KP_7, explace, {.ui = EX_NW }},
|
{ MODKEY, XK_KP_7, explace, {.ui = EX_NW }}, /* XK_KP_Home, */
|
||||||
{ MODKEY, XK_KP_8, explace, {.ui = EX_N }},
|
{ MODKEY, XK_KP_8, explace, {.ui = EX_N }}, /* XK_KP_Up, */
|
||||||
{ MODKEY, XK_KP_9, explace, {.ui = EX_NE }},
|
{ MODKEY, XK_KP_9, explace, {.ui = EX_NE }}, /* XK_KP_Prior, */
|
||||||
{ MODKEY, XK_KP_4, explace, {.ui = EX_W }},
|
{ MODKEY, XK_KP_4, explace, {.ui = EX_W }}, /* XK_KP_Left, */
|
||||||
{ MODKEY, XK_KP_5, explace, {.ui = EX_C }},
|
{ MODKEY, XK_KP_5, explace, {.ui = EX_C }}, /* XK_KP_Begin, */
|
||||||
{ MODKEY, XK_KP_6, explace, {.ui = EX_E }},
|
{ MODKEY, XK_KP_6, explace, {.ui = EX_E }}, /* XK_KP_Right, */
|
||||||
{ MODKEY, XK_KP_1, explace, {.ui = EX_SW }},
|
{ MODKEY, XK_KP_1, explace, {.ui = EX_SW }}, /* XK_KP_End, */
|
||||||
{ MODKEY, XK_KP_2, explace, {.ui = EX_S }},
|
{ MODKEY, XK_KP_2, explace, {.ui = EX_S }}, /* XK_KP_Down, */
|
||||||
{ MODKEY, XK_KP_3, explace, {.ui = EX_SE }},
|
{ MODKEY, XK_KP_3, explace, {.ui = EX_SE }}, /* XK_KP_Next, */
|
||||||
|
|
||||||
{ MODKEY|ShiftMask, XK_KP_8, exresize, {.v = (int []){ 0, 25 }}},
|
{ MODKEY|ShiftMask, XK_KP_8, exresize, {.v = (int []){ 0, 25 }}}, /* XK_KP_Up, */
|
||||||
{ MODKEY|ShiftMask, XK_KP_2, exresize, {.v = (int []){ 0, -25 }}},
|
{ MODKEY|ShiftMask, XK_KP_2, exresize, {.v = (int []){ 0, -25 }}}, /* XK_KP_Down, */
|
||||||
{ MODKEY|ShiftMask, XK_KP_6, exresize, {.v = (int []){ 25, 0 }}},
|
{ MODKEY|ShiftMask, XK_KP_6, exresize, {.v = (int []){ 25, 0 }}}, /* XK_KP_Right, */
|
||||||
{ MODKEY|ShiftMask, XK_KP_4, exresize, {.v = (int []){ -25, 0 }}},
|
{ MODKEY|ShiftMask, XK_KP_4, exresize, {.v = (int []){ -25, 0 }}}, /* XK_KP_Left, */
|
||||||
{ MODKEY|ShiftMask, XK_KP_5, exresize, {.v = (int []){ 25, 25 }}},
|
{ MODKEY|ShiftMask, XK_KP_5, exresize, {.v = (int []){ 25, 25 }}}, /* XK_KP_Begin, */
|
||||||
{ MODKEY|ShiftMask|ControlMask, XK_KP_5, exresize, {.v = (int []){ -25, -25 }}},
|
{ MODKEY|ShiftMask|ControlMask, XK_KP_5, exresize, {.v = (int []){ -25, -25 }}}, /* XK_KP_Begin, */
|
||||||
|
|
||||||
{ MODKEY|ControlMask, XK_KP_6, togglehorizontalexpand, {.i = +1} },
|
{ MODKEY|ControlMask, XK_KP_6, togglehorizontalexpand, {.i = +1} }, /* XK_KP_Right, */
|
||||||
{ MODKEY|ControlMask, XK_KP_3, togglehorizontalexpand, {.i = 0} },
|
{ MODKEY|ControlMask, XK_KP_3, togglehorizontalexpand, {.i = 0} }, /* XK_KP_Next, */
|
||||||
{ MODKEY|ControlMask, XK_KP_4, togglehorizontalexpand, {.i = -1} },
|
{ MODKEY|ControlMask, XK_KP_4, togglehorizontalexpand, {.i = -1} }, /* XK_KP_Left, */
|
||||||
{ MODKEY|ControlMask, XK_KP_8, toggleverticalexpand, {.i = +1} },
|
{ MODKEY|ControlMask, XK_KP_8, toggleverticalexpand, {.i = +1} }, /* XK_KP_Up, */
|
||||||
{ MODKEY|ControlMask, XK_KP_1, toggleverticalexpand, {.i = 0} },
|
{ MODKEY|ControlMask, XK_KP_1, toggleverticalexpand, {.i = 0} }, /* XK_KP_End, */
|
||||||
{ MODKEY|ControlMask, XK_KP_2, toggleverticalexpand, {.i = -1} },
|
{ MODKEY|ControlMask, XK_KP_2, toggleverticalexpand, {.i = -1} }, /* XK_KP_Down, */
|
||||||
{ MODKEY|ControlMask, XK_KP_9, togglemaximize, {.i = -1} },
|
{ MODKEY|ControlMask, XK_KP_9, togglemaximize, {.i = -1} }, /* XK_KP_Prior, */
|
||||||
{ MODKEY|ControlMask, XK_KP_7, togglemaximize, {.i = +1} },
|
{ MODKEY|ControlMask, XK_KP_7, togglemaximize, {.i = +1} }, /* XK_KP_Home, */
|
||||||
{ MODKEY|ControlMask, XK_KP_5, togglemaximize, {.i = 0} },
|
{ MODKEY|ControlMask, XK_KP_5, togglemaximize, {.i = 0} }, /* XK_KP_Begin, */
|
||||||
#endif // EXRESIZE_PATCH
|
#endif // EXRESIZE_PATCH
|
||||||
#if SETBORDERPX_PATCH
|
#if SETBORDERPX_PATCH
|
||||||
{ MODKEY|ControlMask, XK_minus, setborderpx, {.i = -1 } },
|
{ MODKEY|ControlMask, XK_minus, setborderpx, {.i = -1 } },
|
||||||
|
@ -70,6 +70,9 @@
|
|||||||
#if MDPCONTROL_PATCH
|
#if MDPCONTROL_PATCH
|
||||||
#include "mdpcontrol.c"
|
#include "mdpcontrol.c"
|
||||||
#endif
|
#endif
|
||||||
|
#if MOVEPLACE_PATCH
|
||||||
|
#include "moveplace.c"
|
||||||
|
#endif
|
||||||
#if MOVERESIZE_PATCH
|
#if MOVERESIZE_PATCH
|
||||||
#include "moveresize.c"
|
#include "moveresize.c"
|
||||||
#endif
|
#endif
|
||||||
|
@ -73,6 +73,9 @@
|
|||||||
#if MDPCONTROL_PATCH
|
#if MDPCONTROL_PATCH
|
||||||
#include "mdpcontrol.h"
|
#include "mdpcontrol.h"
|
||||||
#endif
|
#endif
|
||||||
|
#if MOVEPLACE_PATCH
|
||||||
|
#include "moveplace.h"
|
||||||
|
#endif
|
||||||
#if MOVERESIZE_PATCH
|
#if MOVERESIZE_PATCH
|
||||||
#include "moveresize.h"
|
#include "moveresize.h"
|
||||||
#endif
|
#endif
|
||||||
|
29
patch/moveplace.c
Normal file
29
patch/moveplace.c
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
void
|
||||||
|
moveplace(const Arg *arg)
|
||||||
|
{
|
||||||
|
Client *c;
|
||||||
|
int nh, nw, nx, ny;
|
||||||
|
c = selmon->sel;
|
||||||
|
if (!c || (arg->ui >= 9))
|
||||||
|
return;
|
||||||
|
if (selmon->lt[selmon->sellt]->arrange && !c->isfloating)
|
||||||
|
togglefloating(NULL);
|
||||||
|
nh = (selmon->wh / 3) - (c->bw * 2);
|
||||||
|
nw = (selmon->ww / 3) - (c->bw * 2);
|
||||||
|
nx = (arg->ui % 3) -1;
|
||||||
|
ny = (arg->ui / 3) -1;
|
||||||
|
if (nx < 0)
|
||||||
|
nx = selmon->wx;
|
||||||
|
else if(nx > 0)
|
||||||
|
nx = selmon->wx + selmon->ww - nw - c->bw*2;
|
||||||
|
else
|
||||||
|
nx = selmon->wx + selmon->ww/2 - nw/2 - c->bw;
|
||||||
|
if (ny <0)
|
||||||
|
ny = selmon->wy;
|
||||||
|
else if(ny > 0)
|
||||||
|
ny = selmon->wy + selmon->wh - nh - c->bw*2;
|
||||||
|
else
|
||||||
|
ny = selmon->wy + selmon->wh/2 - nh/2 - c->bw;
|
||||||
|
resize(c, nx, ny, nw, nh, True);
|
||||||
|
XWarpPointer(dpy, None, c->win, 0, 0, 0, 0, nw/2, nh/2);
|
||||||
|
}
|
3
patch/moveplace.h
Normal file
3
patch/moveplace.h
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
enum { WIN_NW, WIN_N, WIN_NE, WIN_W, WIN_C, WIN_E, WIN_SW, WIN_S, WIN_SE };
|
||||||
|
|
||||||
|
static void moveplace(const Arg *arg);
|
@ -334,6 +334,13 @@
|
|||||||
*/
|
*/
|
||||||
#define MONOCLESYMBOL_PATCH 0
|
#define MONOCLESYMBOL_PATCH 0
|
||||||
|
|
||||||
|
/* Makes a window floating and 1/3rd the height and 1/3rd the width of the screen and is
|
||||||
|
* positioned in either the center or one of the 8 cardinal directions depending on which
|
||||||
|
* key is pressed.
|
||||||
|
* https://dwm.suckless.org/patches/moveplace/
|
||||||
|
*/
|
||||||
|
#define MOVEPLACE_PATCH 0
|
||||||
|
|
||||||
/* This patch allows you to move and resize dwm's clients using keyboard bindings.
|
/* This patch allows you to move and resize dwm's clients using keyboard bindings.
|
||||||
* https://dwm.suckless.org/patches/moveresize/
|
* https://dwm.suckless.org/patches/moveresize/
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user