{ MODKEY,                       XK_2,           view,           { .i = 1 } }, \
        { MODKEY,                       XK_3,           view,           { .i = 2 } }, \
        { MODKEY,                       XK_4,           view,           { .i = 3 } }, \
+       { MODKEY,                       XK_a,           viewall,        { 0 } }, \
        { MODKEY|ControlMask,           XK_1,           toggleview,     { .i = 0 } }, \
        { MODKEY|ControlMask,           XK_2,           toggleview,     { .i = 1 } }, \
        { MODKEY|ControlMask,           XK_3,           toggleview,     { .i = 2 } }, \
 
        { MODKEY,                       XK_3,           view,           { .i = 2 } }, \
        { MODKEY,                       XK_4,           view,           { .i = 3 } }, \
        { MODKEY,                       XK_5,           view,           { .i = 4 } }, \
+       { MODKEY,                       XK_a,           viewall,        { 0 } }, \
        { MODKEY|ControlMask,           XK_1,           toggleview,     { .i = 0 } }, \
        { MODKEY|ControlMask,           XK_2,           toggleview,     { .i = 1 } }, \
        { MODKEY|ControlMask,           XK_3,           toggleview,     { .i = 2 } }, \
 
 View all windows with
 .BR "tag n" .
 .TP
+.B Mod1-a
+View all windows with any
+.BR "tag" .
+.TP
 .B Mod1-Control-[0..n]
 Add/remove all windows with
 .B tag n
 
 extern void togglemode(Arg *arg);
 extern void toggleview(Arg *arg);
 extern void view(Arg *arg);
+extern void viewall(Arg *arg);
 extern void zoom(Arg *arg);
 
        arrange(NULL);
 }
 
+void
+viewall(Arg *arg)
+{
+       unsigned int i;
+
+       for(i = 0; i < ntags; i++)
+               seltag[i] = True;
+       arrange(NULL);
+}
+
 void
 zoom(Arg *arg)
 {