From a56526c098b57b806e2d31ba03aabae26e7dcc33 Mon Sep 17 00:00:00 2001 From: krolyxon Date: Sun, 11 Sep 2022 12:12:36 +0530 Subject: [PATCH] port all sxhkd keymaps to dwm --- config.def.h | 22 ++++++++++++++++++---- config.h | 22 ++++++++++++++++++---- dwm | Bin 79472 -> 80208 bytes 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/config.def.h b/config.def.h index 6f18817..a8fb83f 100644 --- a/config.def.h +++ b/config.def.h @@ -1,5 +1,9 @@ /* See LICENSE file for copyright and license details. */ +/* Constants */ +#define BROWSER "firefox" +#define TERMINAL "st" + /* appearance */ static const unsigned int borderpx = 2; /* border pixel of windows */ static const unsigned int gappx = 3; /* gaps between windows */ @@ -68,8 +72,11 @@ static const char *termcmd[] = { "st", NULL }; static const char scratchpadname[] = "scratchpad"; static const char *scratchpadcmd[] = { "st", "-t", scratchpadname, "-g", "120x34", NULL }; +#include // this is to support XF86 keys + static Key keys[] = { /* modifier key function argument */ + { MODKEY, XK_grave, spawn, {.v = (const char*[]){ "unicode_emoji", NULL } } }, { MODKEY, XK_r, spawn, {.v = dmenucmd } }, { MODKEY, XK_Return, spawn, {.v = termcmd } }, { MODKEY|ShiftMask, XK_Return, togglescratch, {.v = scratchpadcmd } }, @@ -85,10 +92,11 @@ static Key keys[] = { { MODKEY, XK_space, zoom, {0} }, /* { MODKEY, XK_Tab, view, {0} }, */ { MODKEY|ShiftMask, XK_x, killclient, {0} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_e, setlayout, {.v = &layouts[2]} }, - { MODKEY, XK_n, setlayout, {.v = &layouts[3]} }, + { MODKEY, XK_b, spawn, {.v = (const char*[]){ BROWSER, NULL } } }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, // tile + { MODKEY|ShiftMask, XK_u, setlayout, {.v = &layouts[1]} }, // monocle + { MODKEY, XK_y, setlayout, {.v = &layouts[2]} }, // spiral + { MODKEY|ShiftMask, XK_y, setlayout, {.v = &layouts[3]} }, // dwindle { MODKEY|ShiftMask, XK_f, setlayout, {0} }, { MODKEY|ShiftMask, XK_r, togglefloating, {0} }, { MODKEY, XK_f, togglefullscr, {0} }, @@ -113,6 +121,12 @@ static Key keys[] = { TAGKEYS( XK_8, 7) TAGKEYS( XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, + { 0, XK_Print, spawn, SHCMD("maimshot") }, + { MODKEY, XK_m, spawn, {.v = (const char*[]){ TERMINAL, "-e", "ncmpcpp", NULL } } }, + + { 0, XF86XK_AudioMute, spawn, SHCMD("pamixer -t; kill -34 $(cat ~/.cache/pidofbar") }, + { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("pamixer -i 2; kill -34 $(cat ~/.cache/pidofbar)") }, + { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("pamixer -d 2; kill -34 $(cat ~/.cache/pidofbar)") }, }; /* button definitions */ diff --git a/config.h b/config.h index 6f18817..a8fb83f 100644 --- a/config.h +++ b/config.h @@ -1,5 +1,9 @@ /* See LICENSE file for copyright and license details. */ +/* Constants */ +#define BROWSER "firefox" +#define TERMINAL "st" + /* appearance */ static const unsigned int borderpx = 2; /* border pixel of windows */ static const unsigned int gappx = 3; /* gaps between windows */ @@ -68,8 +72,11 @@ static const char *termcmd[] = { "st", NULL }; static const char scratchpadname[] = "scratchpad"; static const char *scratchpadcmd[] = { "st", "-t", scratchpadname, "-g", "120x34", NULL }; +#include // this is to support XF86 keys + static Key keys[] = { /* modifier key function argument */ + { MODKEY, XK_grave, spawn, {.v = (const char*[]){ "unicode_emoji", NULL } } }, { MODKEY, XK_r, spawn, {.v = dmenucmd } }, { MODKEY, XK_Return, spawn, {.v = termcmd } }, { MODKEY|ShiftMask, XK_Return, togglescratch, {.v = scratchpadcmd } }, @@ -85,10 +92,11 @@ static Key keys[] = { { MODKEY, XK_space, zoom, {0} }, /* { MODKEY, XK_Tab, view, {0} }, */ { MODKEY|ShiftMask, XK_x, killclient, {0} }, - { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, - { MODKEY, XK_m, setlayout, {.v = &layouts[1]} }, - { MODKEY, XK_e, setlayout, {.v = &layouts[2]} }, - { MODKEY, XK_n, setlayout, {.v = &layouts[3]} }, + { MODKEY, XK_b, spawn, {.v = (const char*[]){ BROWSER, NULL } } }, + { MODKEY, XK_t, setlayout, {.v = &layouts[0]} }, // tile + { MODKEY|ShiftMask, XK_u, setlayout, {.v = &layouts[1]} }, // monocle + { MODKEY, XK_y, setlayout, {.v = &layouts[2]} }, // spiral + { MODKEY|ShiftMask, XK_y, setlayout, {.v = &layouts[3]} }, // dwindle { MODKEY|ShiftMask, XK_f, setlayout, {0} }, { MODKEY|ShiftMask, XK_r, togglefloating, {0} }, { MODKEY, XK_f, togglefullscr, {0} }, @@ -113,6 +121,12 @@ static Key keys[] = { TAGKEYS( XK_8, 7) TAGKEYS( XK_9, 8) { MODKEY|ShiftMask, XK_q, quit, {0} }, + { 0, XK_Print, spawn, SHCMD("maimshot") }, + { MODKEY, XK_m, spawn, {.v = (const char*[]){ TERMINAL, "-e", "ncmpcpp", NULL } } }, + + { 0, XF86XK_AudioMute, spawn, SHCMD("pamixer -t; kill -34 $(cat ~/.cache/pidofbar") }, + { 0, XF86XK_AudioRaiseVolume, spawn, SHCMD("pamixer -i 2; kill -34 $(cat ~/.cache/pidofbar)") }, + { 0, XF86XK_AudioLowerVolume, spawn, SHCMD("pamixer -d 2; kill -34 $(cat ~/.cache/pidofbar)") }, }; /* button definitions */ diff --git a/dwm b/dwm index 48faf7c8c8f8e062626117c907cfe0772bdb56aa..e1eae8e3d51d2d3f4031cea25049e5e8101f54eb 100755 GIT binary patch delta 13695 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 delta 12054 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 M#bVo(XXUp43&{YFJpcdz