2022-08-21 11:53:18 +02:00
|
|
|
/* These are all your keybinds.
|
|
|
|
*
|
|
|
|
* Example keybind:
|
|
|
|
*
|
2022-09-11 14:20:26 +02:00
|
|
|
* { MODIFIER1, -1, XK_1, spawn, RCMD(TERMINAL "echo "Hello world!") },
|
|
|
|
* { MODIFIER1, XK_F1, XK_1, spawn, RCMD(TERMINAL "echo "Hello world! Pressing two keys in a row is based!") },
|
2022-08-21 11:53:18 +02:00
|
|
|
*
|
|
|
|
* Modifiers
|
|
|
|
*
|
2022-09-11 01:44:40 +02:00
|
|
|
* MODIFIER1 is what you defined (in options.h, default is Super)
|
|
|
|
* MODIFIER2 is what you defined (in options.h, default is Alt)
|
2022-09-14 17:30:08 +02:00
|
|
|
* SHIFT is unless changed going to be your Shift key.
|
|
|
|
* CONTROL is unless changed going to be your Control key.
|
2022-08-21 11:53:18 +02:00
|
|
|
*
|
2022-09-11 01:44:40 +02:00
|
|
|
* It is recommended that you avoid using 'MODIFIER2' (Mod1Mask) by itself because it can break software defined shortcuts.
|
2022-08-21 11:53:18 +02:00
|
|
|
*
|
|
|
|
* If you need help, see speedwm-help.
|
|
|
|
* Once you're done with your edits, run 'make clean install'.
|
|
|
|
*/
|
|
|
|
|
2022-09-17 18:20:59 +02:00
|
|
|
/* Tag related keybinds */
|
2022-09-17 18:31:27 +02:00
|
|
|
#define TAGKEYS(CHAIN,KEY,TAG) { MODIFIER1, CHAIN, KEY, view, {.ui = 1 << TAG } }, \
|
|
|
|
{ MODIFIER1|SHIFT, CHAIN, KEY, previewtag, {.ui = TAG} }, \
|
|
|
|
{ MODIFIER1|CONTROL, CHAIN, KEY, toggleview, {.ui = 1 << TAG } }, \
|
|
|
|
{ MODIFIER1|SHIFT|CONTROL, CHAIN, KEY, tag, {.ui = 1 << TAG } },
|
2022-09-17 18:20:59 +02:00
|
|
|
|
2022-09-17 18:31:27 +02:00
|
|
|
/* Keybinds */
|
2022-09-11 00:51:27 +02:00
|
|
|
static const Key keys[] = {
|
2022-09-14 17:46:09 +02:00
|
|
|
/* modifier chain key key function argument */
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Application keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1|SHIFT, -1, XK_semicolon, spawn, RCMD(RUN) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_Return, spawn, RCMD(TERMINAL) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_s, spawn, RCMD(SCREENSHOT) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_f, spawn, RCMD(TERMINAL FILEMANAGER) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_w, spawn, RCMD(BROWSER) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_o, spawn, RCMD("speedwm-dfmpeg") },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_t, spawn, RCMD(TERMINAL EDITOR) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_a, spawn, RCMD(TERMINAL MIXER) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_m, spawn, RCMD(TERMINAL MUSIC) },
|
|
|
|
{ MODIFIER2, -1, XK_Tab, spawn, RCMD("speedwm-winnav") },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_x, spawn, RCMD(TERMINAL SYSTEMSTAT) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_i, spawn, RCMD(OPENPDF) },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_Escape, spawn, RCMD("speedwm-shutdown") },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_Tab, spawn, RCMD("speedwm-utils -layout") },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_h, spawn, RCMD(TERMINAL "speedwm-help -2") },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_s, spawn, RCMD(SCREENSHOT_FULL) },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_u, spawn, RCMD(TERMINAL RSS) },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_m, spawn, RCMD(KILLMUSIC) },
|
2022-09-17 18:20:59 +02:00
|
|
|
{ MODIFIER1|CONTROL, -1, XK_q, spawn, RCMD(VOL_MUTE) },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_w, spawn, RCMD(VOL_DOWN) },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_e, spawn, RCMD(VOL_UP) },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_q, spawn, RCMD(PAUSEMUSIC) },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_w, spawn, RCMD(DOWNMUSIC) },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_e, spawn, RCMD(UPMUSIC) },
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_k, spawn, RCMD(VOL_OUTPUT_SPEAKER) },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_Escape, spawn, RCMD("speedwm-utils") },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_s, spawn, RCMD("speedwm-swal") },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_n, spawn, RCMD(NETWORK) },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_b, spawn, RCMD(BLUETOOTH) },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_m, spawn, RCMD(TERMINAL EMAIL) },
|
2022-09-17 18:20:59 +02:00
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_d, spawn, RCMD("speedwm_run -configure") },
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, -1, XK_s, spawn, RCMD("speedwm-core -toggle") },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Layout keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_a, cyclelayout, {.i = -1 } },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_d, cyclelayout, {.i = +1 } },
|
2022-09-14 17:46:09 +02:00
|
|
|
#if LAYOUT_TILE
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1|CONTROL, -1, XK_r, setlayout, {.v = &layouts[1]} },
|
2022-09-14 17:46:09 +02:00
|
|
|
#endif
|
2022-09-17 18:31:27 +02:00
|
|
|
#if LAYOUT_DGRID
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_t, setlayout, {.v = &layouts[18]} },
|
|
|
|
#endif
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, -1, XK_space, setlayout, {0} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Sticky keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER2|MODIFIER1, -1, XK_s, togglesticky, {0} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Scratchpad keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, -1, XK_minus, scratchpad_show, {0} },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_minus, scratchpad_hide, {0} },
|
|
|
|
{ MODIFIER1, -1, XK_equal, scratchpad_remove, {0} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* speedwm general binds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, -1, XK_f, togglefullscr, {0} },
|
|
|
|
{ MODIFIER1, -1, XK_b, togglebar, {0} },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_space, focusmaster, {0} },
|
|
|
|
{ MODIFIER1, -1, XK_j, focusstackvis, {.i = +1 } },
|
|
|
|
{ MODIFIER1, -1, XK_k, focusstackvis, {.i = -1 } },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_j, focusstackhid, {.i = +1 } },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_k, focusstackhid, {.i = -1 } },
|
|
|
|
{ MODIFIER1, -1, XK_a, setmfact, {.f = -0.05} },
|
|
|
|
{ MODIFIER1, -1, XK_d, setmfact, {.f = +0.05} },
|
|
|
|
{ MODIFIER2|CONTROL, -1, XK_k, setcfact, {.f = +0.25} },
|
|
|
|
{ MODIFIER2|CONTROL, -1, XK_j, setcfact, {.f = -0.25} },
|
|
|
|
{ MODIFIER2|CONTROL, -1, XK_0, setcfact, {.f = 0.00} },
|
|
|
|
{ MODIFIER1, -1, XK_Return, zoom, {0} },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_q, killclient, {0} },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_space, togglefloating, {0} },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_0, view, {.ui = ~0 } },
|
|
|
|
{ MODIFIER1, -1, XK_d, focusmon, {.i = -1 } },
|
|
|
|
{ MODIFIER1, -1, XK_period, focusmon, {.i = +1 } },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_d, tagmon, {.i = -1 } },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_period, tagmon, {.i = +1 } },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_j, inplacerotate, {.i = +1} },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_k, inplacerotate, {.i = -1} },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_h, inplacerotate, {.i = +2} },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_l, inplacerotate, {.i = -2} },
|
|
|
|
{ MODIFIER1, -1, XK_n, incnmaster, {.i = -1 } },
|
|
|
|
{ MODIFIER1, -1, XK_i, incnmaster, {.i = +1 } },
|
|
|
|
{ MODIFIER1, -1, XK_t, toggleopacity, {0} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Floating mode keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, -1, XK_Down, moveresize, {.v = "0x 25y 0w 0h" } },
|
|
|
|
{ MODIFIER1, -1, XK_Up, moveresize, {.v = "0x -25y 0w 0h" } },
|
|
|
|
{ MODIFIER1, -1, XK_Right, moveresize, {.v = "25x 0y 0w 0h" } },
|
|
|
|
{ MODIFIER1, -1, XK_Left, moveresize, {.v = "-25x 0y 0w 0h" } },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_Down, moveresize, {.v = "0x 0y 0w 25h" } },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_Up, moveresize, {.v = "0x 0y 0w -25h" } },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_Right, moveresize, {.v = "0x 0y 25w 0h" } },
|
|
|
|
{ MODIFIER1|SHIFT, -1, XK_Left, moveresize, {.v = "0x 0y -25w 0h" } },
|
|
|
|
{ MODIFIER2|SHIFT, -1, XK_Down, moveresizeaspect, {.i = +24} },
|
|
|
|
{ MODIFIER2|SHIFT, -1, XK_Up, moveresizeaspect, {.i = -24} },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_Up, moveresizeedge, {.v = "t"} },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_Down, moveresizeedge, {.v = "b"} },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_Left, moveresizeedge, {.v = "l"} },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_Right, moveresizeedge, {.v = "r"} },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_Up, moveresizeedge, {.v = "T"} },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_Down, moveresizeedge, {.v = "B"} },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_Left, moveresizeedge, {.v = "L"} },
|
|
|
|
{ MODIFIER1|CONTROL|SHIFT, -1, XK_Right, moveresizeedge, {.v = "R"} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Tag keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
TAGKEYS( -1, XK_1, 0)
|
|
|
|
TAGKEYS( -1, XK_2, 1)
|
|
|
|
TAGKEYS( -1, XK_3, 2)
|
|
|
|
TAGKEYS( -1, XK_4, 3)
|
|
|
|
TAGKEYS( -1, XK_5, 4)
|
|
|
|
TAGKEYS( -1, XK_6, 5)
|
|
|
|
TAGKEYS( -1, XK_7, 6)
|
|
|
|
TAGKEYS( -1, XK_8, 7)
|
|
|
|
TAGKEYS( -1, XK_9, 8)
|
|
|
|
{ MODIFIER1, -1, XK_t, reorganizetags, {0} },
|
|
|
|
{ MODIFIER2, -1, XK_a, viewtoleft, {0} },
|
|
|
|
{ MODIFIER2, -1, XK_d, viewtoright, {0} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Hide/Show keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, -1, XK_o, hide, {0} },
|
|
|
|
{ MODIFIER1|CONTROL, -1, XK_o, show, {0} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Chained keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, XK_c, XK_w, spawn, RCMD(TERMINAL "speedwm-core -curl-weather") },
|
2022-09-16 23:51:06 +02:00
|
|
|
{ MODIFIER1, XK_c, XK_n, spawn, RCMD(NEXTMUSIC) },
|
|
|
|
{ MODIFIER1, XK_c, XK_p, spawn, RCMD(PREVMUSIC) },
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, XK_c, XK_m, spawn, RCMD(TERMINAL "speedwm-core -curl-cheatsheet") },
|
|
|
|
{ MODIFIER1, XK_r, XK_v, spawn, RCMD(TERMINAL VISUALIZER) },
|
|
|
|
{ MODIFIER1|SHIFT, XK_e, XK_a, spawn, RCMD("speedwm-virtualkeyboard") },
|
|
|
|
{ MODIFIER1|SHIFT, XK_e, XK_e, spawn, RCMD("speedwm-virtualkeyboard -e") },
|
|
|
|
{ MODIFIER1|SHIFT, XK_e, XK_c, spawn, RCMD("speedwm-virtualkeyboard -c") },
|
|
|
|
{ MODIFIER2|SHIFT, XK_q, XK_o, killunsel, {0} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Gap keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1|MODIFIER2, -1, XK_j, incrgaps, {.i = +1 } },
|
|
|
|
{ MODIFIER1|MODIFIER2, -1, XK_k, incrgaps, {.i = -1 } },
|
|
|
|
{ MODIFIER1|MODIFIER2, -1, XK_d, incrgaps, {.i = +5 } },
|
|
|
|
{ MODIFIER1|MODIFIER2, -1, XK_u, incrgaps, {.i = -5 } },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Chained gap keybinds */
|
2022-09-14 17:30:08 +02:00
|
|
|
{ MODIFIER1, XK_g, XK_t, togglegaps, {0} },
|
|
|
|
{ MODIFIER1, XK_g, XK_0, defaultgaps, {0} },
|
|
|
|
{ MODIFIER1, XK_g, XK_i, incrigaps, {.i = +1} },
|
|
|
|
{ MODIFIER1|SHIFT, XK_g, XK_i, incrigaps, {.i = -1} },
|
|
|
|
{ MODIFIER1, XK_g, XK_o, incrogaps, {.i = +1} },
|
|
|
|
{ MODIFIER1|SHIFT, XK_g, XK_o, incrogaps, {.i = -1} },
|
2022-08-21 11:53:18 +02:00
|
|
|
|
|
|
|
/* Media buttons */
|
2022-09-11 01:44:40 +02:00
|
|
|
#if USEMEDIA
|
2022-09-14 17:30:08 +02:00
|
|
|
{ 0, -1, XF86XK_AudioMute, spawn, RCMD(VOL_MUTE) },
|
|
|
|
{ 0, -1, XF86XK_AudioRaiseVolume, spawn, RCMD(VOL_UP) },
|
|
|
|
{ 0, -1, XF86XK_AudioLowerVolume, spawn, RCMD(VOL_DOWN) },
|
|
|
|
{ 0, -1, XF86XK_AudioPrev, spawn, RCMD(PREVMUSIC) },
|
|
|
|
{ 0, -1, XF86XK_AudioNext, spawn, RCMD(NEXTMUSIC) },
|
|
|
|
{ 0, -1, XF86XK_AudioStop, spawn, RCMD(KILLMUSIC) },
|
|
|
|
{ 0, -1, XF86XK_AudioPause, spawn, RCMD(PAUSEMUSIC) },
|
|
|
|
{ 0, -1, XF86XK_WWW, spawn, RCMD(BROWSER) },
|
|
|
|
{ 0, -1, XF86XK_PowerOff, spawn, RCMD("speedwm-shutdown") },
|
|
|
|
{ 0, -1, XF86XK_Sleep, spawn, RCMD(LOCKER) },
|
|
|
|
{ 0, -1, XF86XK_Mail, spawn, RCMD(TERMINAL EMAIL) },
|
|
|
|
{ 0, -1, XF86XK_TaskPane, spawn, RCMD(TERMINAL SYSTEMSTAT) },
|
|
|
|
{ 0, -1, XF86XK_WLAN, spawn, RCMD(KILLNETWORK) },
|
|
|
|
{ 0, -1, XF86XK_Music, spawn, RCMD(TERMINAL MUSIC) },
|
2022-09-11 01:44:40 +02:00
|
|
|
#endif
|
2022-08-21 11:53:18 +02:00
|
|
|
};
|