diff options
Diffstat (limited to 'src/Screen.cc')
-rw-r--r-- | src/Screen.cc | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/Screen.cc b/src/Screen.cc index 4bcc988..fca932d 100644 --- a/src/Screen.cc +++ b/src/Screen.cc | |||
@@ -853,8 +853,9 @@ void BScreen::notifyUngrabKeyboard() { | |||
853 | focusControl().stopCyclingFocus(); | 853 | focusControl().stopCyclingFocus(); |
854 | } | 854 | } |
855 | 855 | ||
856 | void BScreen::startTypeAheadFocus(std::list<WinClient *> &winlist, int opts) { | 856 | void BScreen::startTypeAheadFocus(std::list<Focusable *> &winlist, int opts) { |
857 | m_type_ahead.init(winlist); | 857 | m_type_ahead.init(winlist); |
858 | m_matches = winlist; | ||
858 | FbTk::EventManager *evm = FbTk::EventManager::instance(); | 859 | FbTk::EventManager *evm = FbTk::EventManager::instance(); |
859 | if (!m_typing_ahead && !m_cycling) | 860 | if (!m_typing_ahead && !m_cycling) |
860 | evm->grabKeyboard(*this, rootWindow().window()); | 861 | evm->grabKeyboard(*this, rootWindow().window()); |
@@ -879,12 +880,19 @@ void BScreen::cycleFocus(int options, bool reverse) { | |||
879 | if (mods == 0) // can't stacked cycle unless there is a mod to grab | 880 | if (mods == 0) // can't stacked cycle unless there is a mod to grab |
880 | options |= FocusControl::CYCLELINEAR; | 881 | options |= FocusControl::CYCLELINEAR; |
881 | 882 | ||
882 | FocusControl::FocusedWindows *win_list = | 883 | FocusControl::Focusables *win_list = 0; |
883 | (options & FocusControl::CYCLELINEAR) ? | 884 | if (options & FocusControl::CYCLEGROUPS) { |
885 | win_list = (options & FocusControl::CYCLELINEAR) ? | ||
886 | &focusControl().creationOrderWinList() : | ||
887 | &focusControl().focusedOrderWinList(); | ||
888 | } else { | ||
889 | win_list = (options & FocusControl::CYCLELINEAR) ? | ||
884 | &focusControl().creationOrderList() : | 890 | &focusControl().creationOrderList() : |
885 | &focusControl().focusedOrderList(); | 891 | &focusControl().focusedOrderList(); |
892 | } | ||
886 | 893 | ||
887 | focusControl().cycleFocus(win_list, options, reverse); | 894 | focusControl().cycleFocus(win_list, options, reverse); |
895 | |||
888 | } | 896 | } |
889 | 897 | ||
890 | FbTk::Menu *BScreen::createMenu(const string &label) { | 898 | FbTk::Menu *BScreen::createMenu(const string &label) { |