From 180d0506ccf2d1366dc46a113a89a698dab14621 Mon Sep 17 00:00:00 2001 From: Ivan Kanakarakis Date: Sun, 27 Nov 2011 14:22:45 +0200 Subject: Mod1-Alt to change between current and previous visited desktop --- config.h | 1 + config.h.def | 1 + dminiwm.c | 8 ++++++++ 3 files changed, 10 insertions(+) diff --git a/config.h b/config.h index a9e9b43..4e2f859 100644 --- a/config.h +++ b/config.h @@ -84,6 +84,7 @@ static key keys[] = { { MOD1, XK_k, prev_win, {NULL} }, { MOD1, XK_o, resize_stack, {.i = -10}}, /* shrink */ { MOD1, XK_p, resize_stack, {.i = +10}}, /* grow */ + { MOD1, XK_Tab, toggle_desktop, {NULL} }, { MOD1, XK_Return, swap_master, {NULL} }, { MOD1|ShiftMask, XK_j, move_down, {NULL} }, { MOD1|ShiftMask, XK_k, move_up, {NULL} }, diff --git a/config.h.def b/config.h.def index e50253e..7bd987b 100644 --- a/config.h.def +++ b/config.h.def @@ -86,6 +86,7 @@ static key keys[] = { { MOD1, XK_v, spawn, {.com = dmenucmd}}, { MOD1, XK_p, resize_stack, {.i = 10}}, { MOD1, XK_o, resize_stack, {.i = -10}}, + { MOD1, XK_Tab, toggle_desktop, {NULL}}, { MOD1, XK_Return, spawn, {.com = urxvtcmd}}, { MOD1, XK_Up, spawn, {.com = volupcmd}}, { MOD1, XK_Down, spawn, {.com = voldowncmd}}, diff --git a/dminiwm.c b/dminiwm.c index d25f05b..f952a7d 100644 --- a/dminiwm.c +++ b/dminiwm.c @@ -129,6 +129,7 @@ static void spawn(const Arg arg); static void start(); static void swap_master(); static void tile(); +static void toggle_desktop(); static void switch_fullscreen(); static void switch_grid(); static void switch_horizontal(); @@ -142,6 +143,7 @@ static void update_current(); static Display *dis; static int bool_quit; static int current_desktop; +static int previous_desktop; static int growth; static int master_size; static int mode; @@ -359,6 +361,7 @@ void change_desktop(const Arg arg) { // Save current "properties" save_desktop(current_desktop); + previous_desktop = current_desktop; // Unmap all window if(head != NULL) @@ -377,6 +380,11 @@ void change_desktop(const Arg arg) { update_current(); } +void toggle_desktop() { + Arg a = {.i = previous_desktop}; + change_desktop(a); +} + void next_desktop() { int tmp = current_desktop; if(tmp == TABLENGTH(desktops)-1) -- cgit v1.3.1