@ -37,7 +37,7 @@ static const Rule rules[] = {
{ " xterm-256color " , NULL , NULL , 0 , 0 , 1 , 1 , 0 , 0 , - 1 } ,
{ " xterm-256color " , NULL , NULL , 0 , 0 , 1 , 1 , 0 , 0 , - 1 } ,
{ " Thunderbird " , NULL , NULL , 1 < < 8 , 0 , 0 , 0 , 0 , 0 , - 1 } ,
{ " Thunderbird " , NULL , NULL , 1 < < 8 , 0 , 0 , 0 , 0 , 0 , - 1 } ,
{ NULL , NULL , " noswallow " , 0 , 0 , 0 , 1 , 0 , 0 , - 1 } ,
{ NULL , NULL , " noswallow " , 0 , 0 , 0 , 1 , 0 , 0 , - 1 } ,
{ " svkbd " , NULL , NULL , 0 , 1 , 0 , 1 , 0 , 1 , - 1 } ,
{ " svkbd " , NULL , NULL , 0 , 1 , 0 , 1 , 0 , 1 , - 1 } ,
{ " Onboard-settings " , NULL , NULL , 0 , 0 , 0 , 0 , 0 , 0 , - 1 }
{ " Onboard-settings " , NULL , NULL , 0 , 0 , 0 , 0 , 0 , 0 , - 1 }
} ;
} ;
@ -63,10 +63,10 @@ static const Layout layouts[] = {
/* key definitions */
/* key definitions */
# define MODKEY Mod4Mask
# define MODKEY Mod4Mask
# define TAGKEYS(KEY,TAG) \
# define TAGKEYS(KEY,TAG) \
{ MODKEY , KEY , view , { . ui = 1 < < TAG } } , \
{ MODKEY , KEY , 0 , view , { . ui = 1 < < TAG } } , \
{ MODKEY | ControlMask , KEY , toggleview , { . ui = 1 < < TAG } } , \
{ MODKEY | ControlMask , KEY , 0 , toggleview , { . ui = 1 < < TAG } } , \
{ MODKEY | ShiftMask , KEY , tag , { . ui = 1 < < TAG } } , \
{ MODKEY | ShiftMask , KEY , 0 , tag , { . ui = 1 < < TAG } } , \
{ MODKEY | ControlMask | ShiftMask , KEY , toggletag , { . ui = 1 < < TAG } } ,
{ MODKEY | ControlMask | ShiftMask , KEY , 0 , toggletag , { . ui = 1 < < TAG } } ,
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
# define SHCMD(cmd) { .v = (const char*[]){ " / bin / sh", "-c", cmd, NULL } }
# define SHCMD(cmd) { .v = (const char*[]){ " / bin / sh", "-c", cmd, NULL } }
@ -125,69 +125,76 @@ static const char *backgroundDetails[] = { "background", "--only-notify", NULL }
static const char * powerMenu [ ] = { " rofi-shutdown " , NULL } ;
static const char * powerMenu [ ] = { " rofi-shutdown " , NULL } ;
# include "movestack.c"
# include "movestack.c"
# define MULTIKEY_THRESHOLD_MS_PRESS 200
# define MULTIKEY_THRESHOLD_MS_HOLD 700
static Key keys [ ] = {
static Key keys [ ] = {
/* modifier key function argument */
/* modifier key count function argument */
{ MODKEY , XK_p , spawn , { . v = dmenucmd } } ,
{ MODKEY , XK_p , 0 , spawn , { . v = dmenucmd } } ,
{ MODKEY , XK_Return , spawn , { . v = termcmd } } ,
{ MODKEY , XK_Return , 0 , spawn , { . v = termcmd } } ,
{ MODKEY | ControlMask , XK_Return , spawn , { . v = lfcmd } } ,
{ MODKEY | ControlMask , XK_Return , 0 , spawn , { . v = lfcmd } } ,
{ MODKEY , XK_b , togglebar , { 0 } } ,
{ MODKEY , XK_b , 0 , togglebar , { 0 } } ,
{ MODKEY , XK_j , focusstack , { . i = + 1 } } ,
{ MODKEY , XK_j , 0 , focusstack , { . i = + 1 } } ,
{ MODKEY , XK_k , focusstack , { . i = - 1 } } ,
{ MODKEY , XK_k , 0 , focusstack , { . i = - 1 } } ,
{ MODKEY | ShiftMask , XK_j , movestack , { . i = + 1 } } ,
{ MODKEY | ShiftMask , XK_j , 0 , movestack , { . i = + 1 } } ,
{ MODKEY | ShiftMask , XK_k , movestack , { . i = - 1 } } ,
{ MODKEY | ShiftMask , XK_k , 0 , movestack , { . i = - 1 } } ,
{ MODKEY , XK_i , incnmaster , { . i = + 1 } } ,
{ MODKEY , XK_i , 0 , incnmaster , { . i = + 1 } } ,
{ MODKEY | ShiftMask , XK_i , incnmaster , { . i = - 1 } } ,
{ MODKEY | ShiftMask , XK_i , 0 , incnmaster , { . i = - 1 } } ,
{ MODKEY , XK_h , setmfact , { . f = - 0.05 } } ,
{ MODKEY , XK_h , 0 , setmfact , { . f = - 0.05 } } ,
{ MODKEY , XK_l , setmfact , { . f = + 0.05 } } ,
{ MODKEY , XK_l , 0 , setmfact , { . f = + 0.05 } } ,
{ MODKEY | ShiftMask , XK_l , spawn , { . v = logout } } ,
{ MODKEY | ShiftMask , XK_l , 0 , spawn , { . v = logout } } ,
{ MODKEY | ShiftMask , XK_Return , zoom , { 0 } } ,
{ MODKEY | ShiftMask , XK_Return , 0 , zoom , { 0 } } ,
{ MODKEY , XK_Tab , toggleAttachBelow , { 0 } } ,
{ MODKEY , XK_Tab , 0 , toggleAttachBelow , { 0 } } ,
{ MODKEY , XK_q , killclient , { 0 } } ,
{ MODKEY , XK_q , 0 , killclient , { 0 } } ,
{ MODKEY , XK_t , setlayout , { . v = & layouts [ 0 ] } } ,
{ MODKEY , XK_t , 0 , setlayout , { . v = & layouts [ 0 ] } } ,
{ MODKEY , XK_m , setlayout , { . v = & layouts [ 2 ] } } ,
{ MODKEY , XK_m , 0 , setlayout , { . v = & layouts [ 2 ] } } ,
{ MODKEY | ShiftMask , XK_t , setlayout , { . v = & layouts [ 3 ] } } ,
{ MODKEY | ShiftMask , XK_t , 0 , setlayout , { . v = & layouts [ 3 ] } } ,
{ MODKEY , XK_f , setlayout , { . v = & layouts [ 4 ] } } ,
{ MODKEY , XK_f , 0 , setlayout , { . v = & layouts [ 4 ] } } ,
{ MODKEY | ShiftMask , XK_f , setlayout , { . v = & layouts [ 5 ] } } ,
{ MODKEY | ShiftMask , XK_f , 0 , setlayout , { . v = & layouts [ 5 ] } } ,
{ MODKEY , XK_space , setlayout , { 0 } } ,
{ MODKEY , XK_space , 0 , setlayout , { 0 } } ,
{ MODKEY | ShiftMask , XK_space , togglefloating , { 0 } } ,
{ MODKEY | ShiftMask , XK_space , 0 , togglefloating , { 0 } } ,
{ MODKEY , XK_0 , view , { . ui = ~ 0 } } ,
{ MODKEY , XK_0 , 0 , view , { . ui = ~ 0 } } ,
{ MODKEY | ShiftMask , XK_0 , tag , { . ui = ~ 0 } } ,
{ MODKEY | ShiftMask , XK_0 , 0 , tag , { . ui = ~ 0 } } ,
{ MODKEY , XK_comma , focusmon , { . i = - 1 } } ,
{ MODKEY , XK_comma , 0 , focusmon , { . i = - 1 } } ,
{ MODKEY , XK_period , focusmon , { . i = + 1 } } ,
{ MODKEY , XK_period , 0 , focusmon , { . i = + 1 } } ,
{ MODKEY | ShiftMask , XK_comma , tagmon , { . i = - 1 } } ,
{ MODKEY | ShiftMask , XK_comma , 0 , tagmon , { . i = - 1 } } ,
{ MODKEY | ShiftMask , XK_period , tagmon , { . i = + 1 } } ,
{ MODKEY | ShiftMask , XK_period , 0 , tagmon , { . i = + 1 } } ,
{ 0 , XK_Print , spawn , { . v = fullscreenshot } } ,
{ 0 , XK_Print , 0 , spawn , { . v = fullscreenshot } } ,
{ ControlMask , XK_Print , spawn , { . v = activescreenshot } } ,
{ ControlMask , XK_Print , 0 , spawn , { . v = activescreenshot } } ,
{ ShiftMask , XK_Print , spawn , { . v = selectscreenshot } } ,
{ ShiftMask , XK_Print , 0 , spawn , { . v = selectscreenshot } } ,
{ 0 , XF86XK_AudioPlay , spawn , { . v = playpause } } ,
{ 0 , XF86XK_AudioPlay , 0 , spawn , { . v = playpause } } ,
{ MODKEY | ShiftMask , XK_d , spawn , { . v = date } } ,
{ MODKEY | ShiftMask , XK_d , 0 , spawn , { . v = date } } ,
{ MODKEY | ShiftMask , XK_b , spawn , { . v = battery } } ,
{ MODKEY | ShiftMask , XK_b , 0 , spawn , { . v = battery } } ,
{ MODKEY | ShiftMask , XK_Insert , spawn , { . v = greenclip } } ,
{ MODKEY | ShiftMask , XK_Insert , 0 , spawn , { . v = greenclip } } ,
//Applications
//Applications
{ MODKEY | ShiftMask , XK_q , spawn , { . v = qutebrowser } } ,
{ MODKEY | ShiftMask , XK_q , 0 , spawn , { . v = qutebrowser } } ,
{ MODKEY , XK_s , spawn , { . v = surf } } ,
{ MODKEY , XK_s , 0 , spawn , { . v = surf } } ,
{ MODKEY , XK_c , spawn , { . v = firefox } } ,
{ MODKEY , XK_c , 0 , spawn , { . v = firefox } } ,
{ MODKEY | ShiftMask , XK_c , spawn , { . v = chromium } } ,
{ MODKEY | ShiftMask , XK_c , 0 , spawn , { . v = chromium } } ,
//Dmenu / Rofi
//Dmenu / Rofi
{ MODKEY , XK_u , spawn , { . v = unicode } } ,
{ MODKEY , XK_u , 0 , spawn , { . v = unicode } } ,
{ MODKEY , XK_y , spawn , { . v = youtube } } ,
{ MODKEY , XK_y , 0 , spawn , { . v = youtube } } ,
{ MODKEY , XK_a , spawn , { . v = offlineArchWiki } } ,
{ MODKEY , XK_a , 0 , spawn , { . v = offlineArchWiki } } ,
{ MODKEY | ShiftMask , XK_a , spawn , { . v = screenlayout } } ,
{ MODKEY | ShiftMask , XK_a , 0 , spawn , { . v = screenlayout } } ,
{ MODKEY | ShiftMask , XK_m , spawn , { . v = manPages } } ,
{ MODKEY | ShiftMask , XK_m , 0 , spawn , { . v = manPages } } ,
{ MODKEY | ShiftMask , XK_p , spawn , { . v = ports } } ,
{ MODKEY | ShiftMask , XK_p , 0 , spawn , { . v = ports } } ,
{ MODKEY , XK_w , spawn , { . v = whichproject } } ,
{ MODKEY , XK_w , 0 , spawn , { . v = whichproject } } ,
{ MODKEY | ShiftMask , XK_w , spawn , { . v = project } } ,
{ MODKEY | ShiftMask , XK_w , 0 , spawn , { . v = project } } ,
{ MODKEY , XK_d , spawn , { . v = pass } } ,
{ MODKEY , XK_d , 0 , spawn , { . v = pass } } ,
//Background
//Background
{ MODKEY , XK_e , spawn , { . v = setBackgroundRandom } } ,
{ MODKEY , XK_e , 0 , spawn , { . v = setBackgroundRandom } } ,
{ MODKEY | ControlMask , XK_e , spawn , { . v = backgroundDetails } } ,
{ MODKEY | ControlMask , XK_e , 0 , spawn , { . v = backgroundDetails } } ,
//Special keys
//Special keys
{ 0 , XF86XK_AudioRaiseVolume , spawn , { . v = volumeUp } } ,
{ 0 , XF86XK_AudioRaiseVolume , 0 , spawn , { . v = volumeUp } } ,
{ 0 , XF86XK_AudioLowerVolume , spawn , { . v = volumeDown } } ,
{ 0 , XF86XK_AudioLowerVolume , 0 , spawn , { . v = volumeDown } } ,
{ 0 , XF86XK_AudioMute , spawn , { . v = volumeToggle } } ,
{ 0 , XF86XK_AudioMute , 0 , spawn , { . v = volumeToggle } } ,
{ 0 , XF86XK_MonBrightnessUp , spawn , { . v = brightnessUp } } ,
{ 0 , XF86XK_MonBrightnessUp , 0 , spawn , { . v = brightnessUp } } ,
{ 0 , XF86XK_MonBrightnessDown , spawn , { . v = brightnessDown } } ,
{ 0 , XF86XK_MonBrightnessDown , 0 , spawn , { . v = brightnessDown } } ,
{ 0 , XF86XK_PowerOff , spawn , { . v = powerMenu } } ,
{ 0 , XF86XK_PowerOff , 0 , spawn , { . v = powerMenu } } ,
{ MODKEY | ShiftMask , XK_r , 0 , quit , { 0 } } ,
TAGKEYS ( XK_1 , 0 )
TAGKEYS ( XK_1 , 0 )
TAGKEYS ( XK_2 , 1 )
TAGKEYS ( XK_2 , 1 )
TAGKEYS ( XK_3 , 2 )
TAGKEYS ( XK_3 , 2 )
@ -197,7 +204,6 @@ static Key keys[] = {
TAGKEYS ( XK_7 , 6 )
TAGKEYS ( XK_7 , 6 )
TAGKEYS ( XK_8 , 7 )
TAGKEYS ( XK_8 , 7 )
TAGKEYS ( XK_9 , 8 )
TAGKEYS ( XK_9 , 8 )
{ MODKEY | ShiftMask , XK_r , quit , { 0 } } ,
} ;
} ;
/* button definitions */
/* button definitions */