aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kanakarakis <ivan.kanak@gmail.com>2011-11-27 17:27:31 +0200
committerIvan Kanakarakis <ivan.kanak@gmail.com>2011-11-27 23:42:38 +0200
commit2017c3c3506a749e8cd61c8457a7330f9ee87f8f (patch)
treefaf959e4989b5a5951406908dc3ebb9bb8d4f916
parent180d0506ccf2d1366dc46a113a89a698dab14621 (diff)
unify next_desktop and prev_desktop; export jump step on config
-rw-r--r--config.h4
-rw-r--r--config.h.def4
-rw-r--r--dminiwm.c25
3 files changed, 8 insertions, 25 deletions
diff --git a/config.h b/config.h
index 4e2f859..4bc8215 100644
--- a/config.h
+++ b/config.h
@@ -92,8 +92,8 @@ static key keys[] = {
{ MOD1|ShiftMask, XK_h, switch_horizontal, {NULL} },
{ MOD1|ShiftMask, XK_g, switch_grid, {NULL} },
{ MOD1|ShiftMask, XK_m, switch_fullscreen, {NULL} },
- { MOD1|ShiftMask, XK_Right, next_desktop, {NULL} },
- { MOD1|ShiftMask, XK_Left, prev_desktop, {NULL} },
+ { MOD1|ShiftMask, XK_Right, next_desktop, {.i = +1} },
+ { MOD1|ShiftMask, XK_Left, next_desktop, {.i = -1} },
/*
* { MOD1|ControlMask, XK_r, spawn, {.com = rebootcmd} },
* { MOD1|ControlMask, XK_s, spawn, {.com = shutdowncmd} },
diff --git a/config.h.def b/config.h.def
index 7bd987b..b85da23 100644
--- a/config.h.def
+++ b/config.h.def
@@ -103,8 +103,8 @@ static key keys[] = {
{ MOD1|ControlMask, XK_r, spawn, {.com = rebootcmd}},
{ MOD1|ControlMask, XK_s, spawn, {.com = shutdowncmd}},
// Window key + shortcut
- { MOD4, XK_Right, next_desktop, {NULL}},
- { MOD4, XK_Left, prev_desktop, {NULL}},
+ { MOD4, XK_Right, next_desktop, {.i = +1}},
+ { MOD4, XK_Left, next_desktop, {.i = -1}},
{ MOD4, XK_e, spawn, {.com = mailcmd}},
{ MOD4, XK_f, spawn, {.com = firefoxcmd}},
{ MOD4, XK_w, spawn, {.com = webcmd}},
diff --git a/dminiwm.c b/dminiwm.c
index f952a7d..05de381 100644
--- a/dminiwm.c
+++ b/dminiwm.c
@@ -112,9 +112,8 @@ static void kill_client();
static void maprequest(XEvent *e);
static void move_down();
static void move_up();
-static void next_desktop();
+static void next_desktop(const Arg arg);
static void next_win();
-static void prev_desktop();
static void prev_win();
static void quit();
static void remove_window(Window w);
@@ -385,25 +384,9 @@ void toggle_desktop() {
change_desktop(a);
}
-void next_desktop() {
- int tmp = current_desktop;
- if(tmp == TABLENGTH(desktops)-1)
- tmp = 0;
- else
- tmp++;
-
- Arg a = {.i = tmp};
- change_desktop(a);
-}
-
-void prev_desktop() {
- int tmp = current_desktop;
- if(tmp == 0)
- tmp = TABLENGTH(desktops)-1;
- else
- tmp--;
-
- Arg a = {.i = tmp};
+void next_desktop(const Arg arg) {
+ int ndesktops = TABLENGTH(desktops);
+ Arg a = {.i = (current_desktop + ndesktops + arg.i) % ndesktops};
change_desktop(a);
}