- 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)