diff options
| -rw-r--r-- | config.h | 4 | ||||
| -rw-r--r-- | config.h.def | 4 | ||||
| -rw-r--r-- | dminiwm.c | 25 |
3 files changed, 8 insertions, 25 deletions
@@ -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}}, @@ -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); } |
