summaryrefslogtreecommitdiff
path: root/src/FocusControl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/FocusControl.hh')
-rw-r--r--src/FocusControl.hh11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/FocusControl.hh b/src/FocusControl.hh
index 65363dd..fd8f56d 100644
--- a/src/FocusControl.hh
+++ b/src/FocusControl.hh
@@ -67,10 +67,11 @@ public:
67 67
68 explicit FocusControl(BScreen &screen); 68 explicit FocusControl(BScreen &screen);
69 69
70 void prevFocus() { prevFocus(0); } 70 void prevFocus() { cycleFocus(0, true); }
71 void nextFocus() { nextFocus(0); } 71 void nextFocus() { cycleFocus(0, false); }
72 void prevFocus(int options); 72 void prevFocus(int options) { cycleFocus(options, true); }
73 void nextFocus(int options); 73 void nextFocus(int options) { cycleFocus(options, false); }
74 void cycleFocus(int options, bool cycle_reverse);
74 void raiseFocus(); 75 void raiseFocus();
75 76
76 void setScreenFocusedWindow(WinClient &win_client); 77 void setScreenFocusedWindow(WinClient &win_client);
@@ -112,8 +113,10 @@ private:
112 // This list keeps the order of window focusing for this screen 113 // This list keeps the order of window focusing for this screen
113 // Screen global so it works for sticky windows too. 114 // Screen global so it works for sticky windows too.
114 FocusedWindows m_focused_list; 115 FocusedWindows m_focused_list;
116 FocusedWindows m_creation_order_list;
115 FocusedWindows::iterator m_cycling_window; 117 FocusedWindows::iterator m_cycling_window;
116 bool m_cycling_focus; 118 bool m_cycling_focus;
119 bool m_cycling_creation_order;
117 WinClient *m_cycling_last; 120 WinClient *m_cycling_last;
118 121
119 static WinClient *s_focused_window; 122 static WinClient *s_focused_window;