setup custom keybindings
This is entirely my own scheme very losely based on xah-fly-keys.config
parent
7ff122a9ef
commit
9028dbe8ef
85
config.h
85
config.h
|
|
@ -71,9 +71,6 @@ static const Layout layouts[] = {
|
|||
*/
|
||||
static const MonitorRule monrules[] = {
|
||||
/* name mfact nmaster scale layout rotate/reflect x y */
|
||||
/* example of a HiDPI laptop monitor:
|
||||
{ "eDP-1", 0.5, 1, 2, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1 },
|
||||
*/
|
||||
/* defaults */
|
||||
{ NULL, 0.55, 1, 1, &layouts[0], WL_OUTPUT_TRANSFORM_NORMAL, -1, -1 },
|
||||
};
|
||||
|
|
@ -150,40 +147,68 @@ static const enum libinput_config_tap_button_map button_map = LIBINPUT_CONFIG_TA
|
|||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
|
||||
|
||||
/* commands */
|
||||
static const char *termcmd[] = { "foot", NULL };
|
||||
static const char *menucmd[] = { "bemenu-run", NULL };
|
||||
static const char *termcmd[] = { "st", NULL };
|
||||
static const char *menucmd[] = { "dmenu_run", NULL };
|
||||
static const char *emacscmd[] = { "emacsclient", "-c", NULL };
|
||||
|
||||
static const Key keys[] = {
|
||||
/* Note that Shift changes certain key codes: c -> C, 2 -> at, etc. */
|
||||
/* modifier key function argument */
|
||||
{ MODKEY, XKB_KEY_p, spawn, {.v = menucmd} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_Return, spawn, {.v = termcmd} },
|
||||
{ MODKEY, XKB_KEY_b, togglebar, {0}},
|
||||
{ MODKEY, XKB_KEY_r, regions, SHCMD("grim -g \"$(slurp)\"") },
|
||||
{ MODKEY, XKB_KEY_j, focusstack, {.i = +1} },
|
||||
{ MODKEY, XKB_KEY_k, focusstack, {.i = -1} },
|
||||
{ MODKEY, XKB_KEY_i, incnmaster, {.i = +1} },
|
||||
{ MODKEY, XKB_KEY_d, incnmaster, {.i = -1} },
|
||||
{ MODKEY, XKB_KEY_h, setmfact, {.f = -0.05} },
|
||||
{ MODKEY, XKB_KEY_l, setmfact, {.f = +0.05} },
|
||||
{ MODKEY, XKB_KEY_H, setcfact, {.f = +0.25} },
|
||||
{ MODKEY, XKB_KEY_L, setcfact, {.f = -0.25} },
|
||||
{ MODKEY, XKB_KEY_K, setcfact, {.f = 0} },
|
||||
{ MODKEY, XKB_KEY_Return, zoom, {0} },
|
||||
{ MODKEY, XKB_KEY_Tab, view, {0} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_C, killclient, {0} },
|
||||
{ MODKEY, XKB_KEY_t, setlayout, {.v = &layouts[0]} },
|
||||
{ MODKEY, XKB_KEY_f, setlayout, {.v = &layouts[1]} },
|
||||
{ MODKEY, XKB_KEY_m, setlayout, {.v = &layouts[2]} },
|
||||
/* spawn programs */
|
||||
{ MODKEY, XKB_KEY_t, spawn, {.v = menucmd} },
|
||||
{ MODKEY, XKB_KEY_a, spawn, {.v = termcmd} },
|
||||
{ MODKEY, XKB_KEY_g, spawn, {.v = emacscmd} },
|
||||
{ MODKEY, XKB_KEY_c, regions, SHCMD("grim -g \"$(slurp)\" | swappy -f -") },
|
||||
{ MODKEY, XKB_KEY_s, spawn, SHCMD("pass-dmenu type") },
|
||||
{ MODKEY|ShiftMask, XKB_KEY_s, spawn, SHCMD("pass-dmenu clip") },
|
||||
|
||||
/* navigate windows */
|
||||
{ MODKEY, XKB_KEY_n, focusstack, {.i = +1} },
|
||||
{ MODKEY, XKB_KEY_i, focusstack, {.i = -1} },
|
||||
{ MODKEY, XKB_KEY_e, focusmon, {.i = WLR_DIRECTION_DOWN} },
|
||||
{ MODKEY, XKB_KEY_u, focusmon, {.i = WLR_DIRECTION_UP} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_E, tagmon, {.i = WLR_DIRECTION_DOWN} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_U, tagmon, {.i = WLR_DIRECTION_UP} },
|
||||
|
||||
/* control master/stack layout */
|
||||
{ MODKEY, XKB_KEY_m, zoom, {0} },
|
||||
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_u, incnmaster, {.i = +1} },
|
||||
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_e, incnmaster, {.i = -1} },
|
||||
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_n, setmfact, {.f = -0.05} },
|
||||
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_i, setmfact, {.f = +0.05} },
|
||||
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_h, setcfact, {.f = +0.25} },
|
||||
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_comma, setcfact, {.f = -0.25} },
|
||||
{ MODKEY|WLR_MODIFIER_CTRL, XKB_KEY_period, setcfact, {.f = 0} },
|
||||
|
||||
/* manage clients */
|
||||
{ MODKEY, XKB_KEY_q, killclient, {0} },
|
||||
{ MODKEY, XKB_KEY_x, togglefloating, {0} },
|
||||
{ MODKEY, XKB_KEY_d, togglefullscreen, {0} },
|
||||
|
||||
/* layouts */
|
||||
{ MODKEY, XKB_KEY_space, setlayout, {0} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_space, togglefloating, {0} },
|
||||
{ MODKEY, XKB_KEY_e, togglefullscreen, {0} },
|
||||
{ MODKEY, XKB_KEY_w, setlayout, {.v = &layouts[0]} },
|
||||
{ MODKEY, XKB_KEY_f, setlayout, {.v = &layouts[1]} },
|
||||
{ MODKEY, XKB_KEY_p, setlayout, {.v = &layouts[2]} },
|
||||
|
||||
/* window manager controls */
|
||||
{ MODKEY, XKB_KEY_z, togglebar, {0}},
|
||||
|
||||
/* media controls */
|
||||
{ 0, XKB_KEY_XF86AudioRaiseVolume, spawn, SHCMD("pamixer -i 5") },
|
||||
{ 0, XKB_KEY_XF86AudioLowerVolume, spawn, SHCMD("pamixer -d 5") },
|
||||
{ 0, XKB_KEY_XF86AudioMute, spawn, SHCMD("pamixer --toggle-mute") },
|
||||
{ 0, XKB_KEY_XF86MonBrightnessUp, spawn, SHCMD("sudo light -A 5") },
|
||||
{ 0, XKB_KEY_XF86MonBrightnessDown, spawn, SHCMD("sudo light -U 5") },
|
||||
{ 0, XKB_KEY_XF86AudioMedia, spawn, SHCMD("playerctl play-pause") },
|
||||
{ 0, XKB_KEY_XF86AudioPlay, spawn, SHCMD("playerctl play-pause") },
|
||||
{ 0, XKB_KEY_XF86AudioNext, spawn, SHCMD("playerctl next") },
|
||||
{ 0, XKB_KEY_XF86AudioPrev, spawn, SHCMD("playerctl previous") },
|
||||
|
||||
/* Tags */
|
||||
{ MODKEY, XKB_KEY_Tab, view, {0} },
|
||||
{ MODKEY, XKB_KEY_0, view, {.ui = ~0} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_parenright, tag, {.ui = ~0} },
|
||||
{ MODKEY, XKB_KEY_comma, focusmon, {.i = WLR_DIRECTION_LEFT} },
|
||||
{ MODKEY, XKB_KEY_period, focusmon, {.i = WLR_DIRECTION_RIGHT} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_less, tagmon, {.i = WLR_DIRECTION_LEFT} },
|
||||
{ MODKEY|WLR_MODIFIER_SHIFT, XKB_KEY_greater, tagmon, {.i = WLR_DIRECTION_RIGHT} },
|
||||
TAGKEYS( XKB_KEY_1, XKB_KEY_exclam, 0),
|
||||
TAGKEYS( XKB_KEY_2, XKB_KEY_at, 1),
|
||||
TAGKEYS( XKB_KEY_3, XKB_KEY_numbersign, 2),
|
||||
|
|
|
|||
Loading…
Reference in New Issue