diff options
author | markt <markt> | 2007-03-01 21:19:04 (GMT) |
---|---|---|
committer | markt <markt> | 2007-03-01 21:19:04 (GMT) |
commit | 2f63ba231cfd6bd8e3191ac0cc516c2235ef0ed2 (patch) | |
tree | 8f6293701e45d49a46f167d35d09b825dc353df7 /src/FocusControl.hh | |
parent | 6de34141354e2cabf06b107ac7a968891d187bdb (diff) | |
download | fluxbox-2f63ba231cfd6bd8e3191ac0cc516c2235ef0ed2.zip fluxbox-2f63ba231cfd6bd8e3191ac0cc516c2235ef0ed2.tar.bz2 |
changed FocusControl::cycleFocus() to take a list of windows as an argument
also fixed some latent bugs and compiler warnings
Diffstat (limited to 'src/FocusControl.hh')
-rw-r--r-- | src/FocusControl.hh | 16 |
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; |