diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fluxbox.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/fluxbox.cc b/src/fluxbox.cc index 53ed03d..b2500e7 100644 --- a/src/fluxbox.cc +++ b/src/fluxbox.cc | |||
@@ -871,16 +871,24 @@ void Fluxbox::process_event(XEvent *e) { | |||
871 | screen->getCurrentWorkspace()->raiseWindow( | 871 | screen->getCurrentWorkspace()->raiseWindow( |
872 | tab->next()->getWindow()); | 872 | tab->next()->getWindow()); |
873 | tab->next()->getWindow()->setInputFocus(); | 873 | tab->next()->getWindow()->setInputFocus(); |
874 | } | 874 | } else { |
875 | screen->getCurrentWorkspace()->raiseWindow( | ||
876 | tab->first()->getWindow()); | ||
877 | tab->first()->getWindow()->setInputFocus(); | ||
878 | } | ||
875 | } | 879 | } |
876 | break; | 880 | break; |
877 | case Keys::grabPrevTab: | 881 | case Keys::grabPrevTab: |
878 | if (focused_window && focused_window->getTab()) { | 882 | if (focused_window && focused_window->getTab()) { |
879 | Tab *tab = focused_window->getTab(); | 883 | Tab *tab = focused_window->getTab(); |
880 | if (tab->prev()) { | 884 | if (tab->prev()) { |
881 | screen->getCurrentWorkspace()->raiseWindow( | 885 | screen->getCurrentWorkspace()->raiseWindow( |
882 | tab->prev()->getWindow()); | 886 | tab->prev()->getWindow()); |
883 | tab->prev()->getWindow()->setInputFocus(); | 887 | tab->prev()->getWindow()->setInputFocus(); |
888 | } else { | ||
889 | screen->getCurrentWorkspace()->raiseWindow( | ||
890 | tab->last()->getWindow()); | ||
891 | tab->last()->getWindow()->setInputFocus(); | ||
884 | } | 892 | } |
885 | } | 893 | } |
886 | break; | 894 | break; |