| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -39,10 +39,10 @@ static Layout layouts[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* key definitions */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define MODKEY Mod1Mask | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define TAGKEYS(KEY,TAG) \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { MODKEY,                       KEY,      view,           TAG }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { MODKEY|ControlMask,           KEY,      toggleview,     TAG }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { MODKEY|ShiftMask,             KEY,      tag,            TAG }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        { MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      TAG }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       KEY,      view,           {.ui = 1 << TAG} }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ControlMask,           KEY,      toggleview,     {.ui = 1 << TAG} }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             KEY,      tag,            {.ui = 1 << TAG} }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ControlMask|ShiftMask, KEY,      toggletag,      {.ui = 1 << TAG} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* helper for spawning shell commands */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define SHCMD(cmd) { .v = (char*[]){ "/bin/sh", "-c", cmd, NULL } } | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -51,27 +51,61 @@ static Key keys[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* modifier                     key        function        argument */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_p,      spawn,          {.v = (char *[]){"dmenu_run", "-fn", FONT, "-nb", NORMBGCOLOR, "-nf", NORMFGCOLOR, "-sb", SELBGCOLOR, "-sf", SELFGCOLOR, NULL}} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_Return, spawn,          {.v = (char *[]){"uxterm", NULL}} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_b,      togglebar,      {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_j,      focusstack,     {.i = +1  }}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_k,      focusstack,     {.i = -1  }}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_m,      togglemax,      {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_Return, zoom,           {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_Tab,    view,           {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_c,      killclient,     {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_space,  togglelayout,   {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_b,      togglebar,      {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_j,      focusstack,     {.i = +1 } }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_k,      focusstack,     {.i = -1 } }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_h,      setmfact,       {.f = -0.05} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_l,      setmfact,       {.f = +0.05} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_m,      togglemax,      {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_Return, zoom,           {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_Tab,    view,           {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_c,      killclient,     {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_space,  togglelayout,   {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_space,  togglefloating, {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY,                       XK_0,      view,           {.ui = ~0 } }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_0,      tag,            {.ui = ~0 } }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_1,                      {.ui = 1 << 0} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_2,                      {.ui = 1 << 1} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_3,                      {.ui = 1 << 2} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_4,                      {.ui = 1 << 3} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_5,                      {.ui = 1 << 4} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_6,                      {.ui = 1 << 5} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_7,                      {.ui = 1 << 6} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_8,                      {.ui = 1 << 7} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_9,                      {.ui = 1 << 8} ) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_q,      quit,           {0}}, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_1,                      0) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_2,                      1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_3,                      2) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_4,                      3) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_5,                      4) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_6,                      5) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_7,                      6) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_8,                      7) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGKEYS(                        XK_9,                      8) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ MODKEY|ShiftMask,             XK_q,      quit,           {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* button definitions */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					#define TAGBUTTONS(TAG) \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ TAG,                  0,              Button1,        view,           {.ui = 1 << TAG} }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ TAG,                  0,              Button3,        toggleview,     {.ui = 1 << TAG} }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ TAG,                  MODKEY,         Button1,        tag,            {.ui = 1 << TAG} }, \ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ TAG,                  MODKEY,         Button3,        toggletag,      {.ui = 1 << TAG} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					/* click can be a tag number (starting at 0), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					 * ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					static Button buttons[] = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						/* click                event mask      button          function        argument */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkLtSymbol,          0,              Button1,        togglelayout,   {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkLtSymbol,          0,              Button3,        togglemax,      {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkWinTitle,          0,              Button1,        movemouse,      {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkWinTitle,          0,              Button2,        zoom,           {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkWinTitle,          0,              Button3,        resizemouse,    {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkWinTitle,          0,              Button4,        focusstack,     {.i = +1 } }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkWinTitle,          0,              Button5,        focusstack,     {.i = -1 } }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkClientWin,         MODKEY,         Button1,        movemouse,      {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkClientWin,         MODKEY,         Button2,        togglefloating, {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkClientWin,         MODKEY,         Button3,        resizemouse,    {0} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						{ ClkRootWin,           Button1Mask,    Button3,        spawn,          {.v = (char *[]){"uxterm", NULL}} }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(0) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(1) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(2) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(3) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(4) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(5) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(6) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(7) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
						TAGBUTTONS(8) | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					}; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 |