From 3c32a5f62dc1dc0277a4235c9749eaddd5b35058 Mon Sep 17 00:00:00 2001 From: Ryan McBride Date: Wed, 14 Jan 2009 06:29:34 +0000 Subject: [PATCH] Fix marco's fix of my pasto. Also somewhat cleaner FOCUSPREV and FOCUSNEXT code. --- scrotwm.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/scrotwm.c b/scrotwm.c index 598a3af..c672715 100644 --- a/scrotwm.c +++ b/scrotwm.c @@ -271,27 +271,22 @@ focus(union arg *args) switch (args->id) { case SWM_ARG_ID_FOCUSPREV: - if (ws[current_ws].focus == - TAILQ_FIRST(&ws[current_ws].winlist)) + ws[current_ws].focus = + TAILQ_PREV(ws[current_ws].focus, ws_win_list, entry); + if (ws[current_ws].focus == NULL) ws[current_ws].focus = TAILQ_LAST(&ws[current_ws].winlist, ws_win_list); - else - ws[current_ws].focus =TAILQ_PREV(ws[current_ws].focus, - ws_win_list, entry); break; case SWM_ARG_ID_FOCUSNEXT: - if (ws[current_ws].focus == TAILQ_LAST(&ws[current_ws].winlist, - ws_win_list)) + ws[current_ws].focus = TAILQ_NEXT(ws[current_ws].focus, entry); + if (ws[current_ws].focus == NULL) ws[current_ws].focus = TAILQ_FIRST(&ws[current_ws].winlist); - else - ws[current_ws].focus = - TAILQ_NEXT(ws[current_ws].focus, entry); break; case SWM_ARG_ID_FOCUSMAIN: - ws[current_ws].focus = TAILQ_FIRST(&ws[current_ws].winlist);; + ws[current_ws].focus = TAILQ_FIRST(&ws[current_ws].winlist); break; default: @@ -460,8 +455,8 @@ struct key { { MODKEY | ShiftMask, XK_8, send_to_ws, {.id = 7} }, { MODKEY | ShiftMask, XK_9, send_to_ws, {.id = 8} }, { MODKEY | ShiftMask, XK_0, send_to_ws, {.id = 9} }, - { MODKEY, XK_Tab, focus, {.id = SWM_ARG_ID_FOCUSPREV} }, - { MODKEY | ShiftMask, XK_Tab, focus, {.id = SWM_ARG_ID_FOCUSNEXT} }, + { MODKEY, XK_Tab, focus, {.id = SWM_ARG_ID_FOCUSNEXT} }, + { MODKEY | ShiftMask, XK_Tab, focus, {.id = SWM_ARG_ID_FOCUSPREV} }, }; void