summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuleyman Farajli <suleyman@farajli.net>2024-08-17 13:27:18 +0400
committerSuleyman Farajli <suleyman@farajli.net>2024-08-17 13:27:18 +0400
commite70b0cffddf227a01b7085f97e74c847e205e93c (patch)
tree206b3243da91484551711a7205ed784cc56d019f
parentd511262546ba53115ac8889cc73d464c778dda06 (diff)
moveresize patched and keybinds changed
-rw-r--r--config.h11
-rw-r--r--dwm.c17
2 files changed, 28 insertions, 0 deletions
diff --git a/config.h b/config.h
index b7fefe6..bf30640 100644
--- a/config.h
+++ b/config.h
@@ -110,6 +110,17 @@ static const Key keys[] = {
{ 0 , XF86XK_AudioRaiseVolume, spawn , {.v = vol_up}},
{ 0 , XF86XK_AudioMute, spawn , {.v = vol_toggle}},
+ { Mod4Mask, XK_j, moveresize, {.v = (int []){ 0, 25, 0, 0 }}},
+ { Mod4Mask, XK_k, moveresize, {.v = (int []){ 0, -25, 0, 0 }}},
+ { Mod4Mask, XK_l, moveresize, {.v = (int []){ 25, 0, 0, 0 }}},
+ { Mod4Mask, XK_h, moveresize, {.v = (int []){ -25, 0, 0, 0 }}},
+ { Mod4Mask|ShiftMask, XK_j, moveresize, {.v = (int []){ 0, 0, 0, 25 }}},
+ { Mod4Mask|ShiftMask, XK_k, moveresize, {.v = (int []){ 0, 0, 0, -25 }}},
+ { Mod4Mask|ShiftMask, XK_l, moveresize, {.v = (int []){ 0, 0, 25, 0 }}},
+ { Mod4Mask|ShiftMask, XK_h, moveresize, {.v = (int []){ 0, 0, -25, 0 }}},
+
+
+
TAGKEYS( XK_1, 0)
TAGKEYS( XK_2, 1)
TAGKEYS( XK_3, 2)
diff --git a/dwm.c b/dwm.c
index 29b279b..8f7b775 100644
--- a/dwm.c
+++ b/dwm.c
@@ -184,6 +184,7 @@ static void mappingnotify(XEvent *e);
static void maprequest(XEvent *e);
static void motionnotify(XEvent *e);
static void movemouse(const Arg *arg);
+static void moveresize(const Arg *arg);
static Client *nexttiled(Client *c);
static void pop(Client *c);
static void propertynotify(XEvent *e);
@@ -277,6 +278,22 @@ static Window root, wmcheckwin;
struct NumTags { char limitexceeded[LENGTH(tags) > 31 ? -1 : 1]; };
/* function implementations */
+
+static void
+moveresize(const Arg *arg)
+{
+ XEvent ev;
+ Monitor *m = selmon;
+ if(!(m->sel && arg && arg->v && m->sel->isfloating))
+ return;
+ resize(m->sel, m->sel->x + ((int *)arg->v)[0],
+ m->sel->y + ((int *)arg->v)[1],
+ m->sel->w + ((int *)arg->v)[2],
+ m->sel->h + ((int *)arg->v)[3],
+ True);
+ while(XCheckMaskEvent(dpy, EnterWindowMask, &ev));
+}
+
void
applyrules(Client *c)
{