aboutsummaryrefslogtreecommitdiff
path: root/src/Screen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/Screen.cc')
-rw-r--r--src/Screen.cc14
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
856void BScreen::startTypeAheadFocus(std::list<WinClient *> &winlist, int opts) { 856void 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
890FbTk::Menu *BScreen::createMenu(const string &label) { 898FbTk::Menu *BScreen::createMenu(const string &label) {