summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dwm.h2
-rw-r--r--event.c2
-rw-r--r--tag.c14
3 files changed, 18 insertions, 0 deletions
diff --git a/dwm.h b/dwm.h
index bcdb4e35..0b6b21f0 100644
--- a/dwm.h
+++ b/dwm.h
@@ -143,6 +143,8 @@ extern void replacetag(Arg *arg);
extern void settags(Client *c);
extern void togglemode(Arg *arg);
extern void view(Arg *arg);
+extern void viewnext(Arg *arg);
+extern void viewprev(Arg *arg);
/* util.c */
extern void *emallocz(unsigned int size);
diff --git a/event.c b/event.c
index 17be71d3..2cebc9e5 100644
--- a/event.c
+++ b/event.c
@@ -32,8 +32,10 @@ static Key key[] = {
{ MODKEY, XK_2, view, { .i = Tnet } },
{ MODKEY, XK_3, view, { .i = Twork } },
{ MODKEY, XK_4, view, { .i = Tmisc} },
+ { MODKEY, XK_h, viewprev, { 0 } },
{ MODKEY, XK_j, focusnext, { 0 } },
{ MODKEY, XK_k, focusprev, { 0 } },
+ { MODKEY, XK_l, viewnext, { 0 } },
{ MODKEY, XK_m, togglemax, { 0 } },
{ MODKEY, XK_space, togglemode, { 0 } },
{ MODKEY, XK_Return, zoom, { 0 } },
diff --git a/tag.c b/tag.c
index c42a7606..6b7e1842 100644
--- a/tag.c
+++ b/tag.c
@@ -216,3 +216,17 @@ view(Arg *arg)
arrange(NULL);
drawall();
}
+
+void
+viewnext(Arg *arg)
+{
+ arg->i = (tsel < TLast-1) ? tsel+1 : 0;
+ view(arg);
+}
+
+void
+viewprev(Arg *arg)
+{
+ arg->i = (tsel > 0) ? tsel-1 : TLast-1;
+ view(arg);
+}