aboutsummaryrefslogtreecommitdiff
path: root/src/FocusControl.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/FocusControl.hh')
-rw-r--r--src/FocusControl.hh16
1 files changed, 7 insertions, 9 deletions
diff --git a/src/FocusControl.hh b/src/FocusControl.hh
index ee5fe95..ee66b9e 100644
--- a/src/FocusControl.hh
+++ b/src/FocusControl.hh
@@ -68,11 +68,9 @@ public:
68 68
69 explicit FocusControl(BScreen &screen); 69 explicit FocusControl(BScreen &screen);
70 70
71 void prevFocus() { cycleFocus(0, true); } 71 void prevFocus() { cycleFocus(&m_focused_list, 0, true); }
72 void nextFocus() { cycleFocus(0, false); } 72 void nextFocus() { cycleFocus(&m_focused_list, 0, false); }
73 void prevFocus(int options) { cycleFocus(options, true); } 73 void cycleFocus(FocusedWindows *winlist, int options, bool reverse = false);
74 void nextFocus(int options) { cycleFocus(options, false); }
75 void cycleFocus(int options, bool cycle_reverse);
76 74
77 void setScreenFocusedWindow(WinClient &win_client); 75 void setScreenFocusedWindow(WinClient &win_client);
78 void setFocusModel(FocusModel model); 76 void setFocusModel(FocusModel model);
@@ -83,7 +81,7 @@ public:
83 void dirFocus(FluxboxWindow &win, FocusDir dir); 81 void dirFocus(FluxboxWindow &win, FocusDir dir);
84 bool isMouseFocus() const { return focusModel() == MOUSEFOCUS; } 82 bool isMouseFocus() const { return focusModel() == MOUSEFOCUS; }
85 bool isMouseTabFocus() const { return tabFocusModel() == MOUSETABFOCUS; } 83 bool isMouseTabFocus() const { return tabFocusModel() == MOUSETABFOCUS; }
86 bool isCycling() const { return m_cycling_focus; } 84 bool isCycling() const { return m_cycling_list != 0; }
87 void addFocusBack(WinClient &client); 85 void addFocusBack(WinClient &client);
88 void addFocusFront(WinClient &client); 86 void addFocusFront(WinClient &client);
89 void setFocusBack(FluxboxWindow *fbwin); 87 void setFocusBack(FluxboxWindow *fbwin);
@@ -120,10 +118,10 @@ private:
120 // Screen global so it works for sticky windows too. 118 // Screen global so it works for sticky windows too.
121 FocusedWindows m_focused_list; 119 FocusedWindows m_focused_list;
122 FocusedWindows m_creation_order_list; 120 FocusedWindows m_creation_order_list;
121
123 FocusedWindows::iterator m_cycling_window; 122 FocusedWindows::iterator m_cycling_window;
124 bool m_cycling_focus; 123 FocusedWindows *m_cycling_list;
125 bool m_cycling_creation_order; 124 WinClient *m_was_iconic;
126 bool m_was_iconic;
127 WinClient *m_cycling_last; 125 WinClient *m_cycling_last;
128 126
129 static WinClient *s_focused_window; 127 static WinClient *s_focused_window;