From 4a041b6f0afc01cd38b5dbb6e9ad2e247d5abea8 Mon Sep 17 00:00:00 2001 From: "Carlos R. Mafra" Date: Thu, 20 Aug 2009 04:07:15 +0200 Subject: [PATCH] Clean up StartWindozeCycle() We can get rid of one overall tab by moving the if(swpanel) test -- which was done everytime in each individual case -- to the beginning, therefore encompassing all cases. --- src/cycling.c | 70 +++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 39 deletions(-) diff --git a/src/cycling.c b/src/cycling.c index 241c1da7..3316aab2 100644 --- a/src/cycling.c +++ b/src/cycling.c @@ -131,66 +131,60 @@ void StartWindozeCycle(WWindow * wwin, XEvent * event, Bool next) switch (ev.type) { case KeyPress: -#ifdef DEBUG - printf("Got key press\n"); -#endif + + if (!swpanel) { + done = True; + break; + } + if ((wKeyBindings[WKBD_FOCUSNEXT].keycode == ev.xkey.keycode && wKeyBindings[WKBD_FOCUSNEXT].modifier == modifiers) || ev.xkey.keycode == rightKey) { - if (swpanel) { - newFocused = wSwitchPanelSelectNext(swpanel, False); - if (newFocused) { - wWindowFocus(newFocused, oldFocused); - oldFocused = newFocused; + newFocused = wSwitchPanelSelectNext(swpanel, False); + if (newFocused) { + wWindowFocus(newFocused, oldFocused); + oldFocused = newFocused; - if (wPreferences.circ_raise) { - CommitStacking(scr); - raiseWindow(swpanel, newFocused); - } + if (wPreferences.circ_raise) { + CommitStacking(scr); + raiseWindow(swpanel, newFocused); } } } else if ((wKeyBindings[WKBD_FOCUSPREV].keycode == ev.xkey.keycode && wKeyBindings[WKBD_FOCUSPREV].modifier == modifiers) || ev.xkey.keycode == leftKey) { - if (swpanel) { - newFocused = wSwitchPanelSelectNext(swpanel, True); - if (newFocused) { - wWindowFocus(newFocused, oldFocused); - oldFocused = newFocused; + newFocused = wSwitchPanelSelectNext(swpanel, True); + if (newFocused) { + wWindowFocus(newFocused, oldFocused); + oldFocused = newFocused; - if (wPreferences.circ_raise) { - CommitStacking(scr); - raiseWindow(swpanel, newFocused); - } + if (wPreferences.circ_raise) { + CommitStacking(scr); + raiseWindow(swpanel, newFocused); } } } else if (ev.xkey.keycode == homeKey || ev.xkey.keycode == endKey) { - if (swpanel) { - newFocused = wSwitchPanelSelectFirst(swpanel, ev.xkey.keycode != homeKey); - if (newFocused) { - wWindowFocus(newFocused, oldFocused); - oldFocused = newFocused; - if (wPreferences.circ_raise) { - CommitStacking(scr); - raiseWindow(swpanel, newFocused); - } + newFocused = wSwitchPanelSelectFirst(swpanel, ev.xkey.keycode != homeKey); + if (newFocused) { + wWindowFocus(newFocused, oldFocused); + oldFocused = newFocused; + + if (wPreferences.circ_raise) { + CommitStacking(scr); + raiseWindow(swpanel, newFocused); } } } else if (ev.xkey.keycode != shiftLKey && ev.xkey.keycode != shiftRKey) { -#ifdef DEBUG - printf("Got something else\n"); -#endif + somethingElse = True; done = True; } break; case KeyRelease: -#ifdef DEBUG - printf("Got key release\n"); -#endif + for (i = 0; i < 8 * keymap->max_keypermod; i++) { if (keymap->modifiermap[i] == ev.xkey.keycode && wKeyBindings[WKBD_FOCUSNEXT].modifier & 1 << (i / keymap->max_keypermod)) { @@ -233,9 +227,7 @@ void StartWindozeCycle(WWindow * wwin, XEvent * event, Bool next) XFreeModifiermap(keymap); if (hasModifier) { -#ifdef DEBUG - printf("Ungrabbing keyboard\n"); -#endif + XUngrabKeyboard(dpy, CurrentTime); }