diff options
author | rathnor <rathnor> | 2003-07-28 15:06:36 (GMT) |
---|---|---|
committer | rathnor <rathnor> | 2003-07-28 15:06:36 (GMT) |
commit | d353b688dec41daddeec9696586a4519f58cce45 (patch) | |
tree | 322a29e0e31cb15a7725047c10144c4ab3d5e130 /src/fluxbox.hh | |
parent | f9bb208da8e8926281c91f3e386ec1de48f700a2 (diff) | |
download | fluxbox_pavel-d353b688dec41daddeec9696586a4519f58cce45.zip fluxbox_pavel-d353b688dec41daddeec9696586a4519f58cce45.tar.bz2 |
update many things to use WinClient instead of FluxboxWindow
Diffstat (limited to 'src/fluxbox.hh')
-rw-r--r-- | src/fluxbox.hh | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/fluxbox.hh b/src/fluxbox.hh index 19f3d32..4f32ea3 100644 --- a/src/fluxbox.hh +++ b/src/fluxbox.hh | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: fluxbox.hh,v 1.68 2003/07/23 10:43:30 fluxgen Exp $ | 25 | // $Id: fluxbox.hh,v 1.69 2003/07/28 15:06:36 rathnor Exp $ |
26 | 26 | ||
27 | #ifndef FLUXBOX_HH | 27 | #ifndef FLUXBOX_HH |
28 | #define FLUXBOX_HH | 28 | #define FLUXBOX_HH |
@@ -88,9 +88,10 @@ public: | |||
88 | 88 | ||
89 | inline Atom getFluxboxPidAtom() const { return m_fluxbox_pid; } | 89 | inline Atom getFluxboxPidAtom() const { return m_fluxbox_pid; } |
90 | 90 | ||
91 | FluxboxWindow *searchGroup(Window, FluxboxWindow *); | 91 | // Not currently implemented until we decide how it'll be used |
92 | FluxboxWindow *searchWindow(Window); | 92 | //WinClient *searchGroup(Window); |
93 | inline FluxboxWindow *getFocusedWindow() { return m_focused_window; } | 93 | WinClient *searchWindow(Window); |
94 | inline WinClient *getFocusedWindow() { return m_focused_window; } | ||
94 | 95 | ||
95 | 96 | ||
96 | BScreen *searchScreen(Window w); | 97 | BScreen *searchScreen(Window w); |
@@ -151,7 +152,7 @@ public: | |||
151 | 152 | ||
152 | void watchKeyRelease(BScreen &screen, unsigned int mods); | 153 | void watchKeyRelease(BScreen &screen, unsigned int mods); |
153 | 154 | ||
154 | void setFocusedWindow(FluxboxWindow *w); | 155 | void setFocusedWindow(WinClient *w); |
155 | void revertFocus(BScreen &screen); | 156 | void revertFocus(BScreen &screen); |
156 | void shutdown(); | 157 | void shutdown(); |
157 | void load_rc(BScreen &scr); | 158 | void load_rc(BScreen &scr); |
@@ -162,10 +163,14 @@ public: | |||
162 | void clearMenuFilenames(); | 163 | void clearMenuFilenames(); |
163 | void saveTitlebarFilename(const char *); | 164 | void saveTitlebarFilename(const char *); |
164 | void saveSlitlistFilename(const char *val) { m_rc_slitlistfile = (val == 0 ? "" : val); } | 165 | void saveSlitlistFilename(const char *val) { m_rc_slitlistfile = (val == 0 ? "" : val); } |
165 | void saveWindowSearch(Window win, FluxboxWindow *fbwin); | 166 | void saveWindowSearch(Window win, WinClient *winclient); |
166 | void saveGroupSearch(Window win, FluxboxWindow *fbwin); | 167 | // some windows relate to the group, not the client, so we record separately |
168 | // searchWindow on these windows will give the active client in the group | ||
169 | void saveWindowSearchGroup(Window win, FluxboxWindow *fbwin); | ||
170 | void saveGroupSearch(Window win, WinClient *winclient); | ||
167 | void save_rc(); | 171 | void save_rc(); |
168 | void removeWindowSearch(Window win); | 172 | void removeWindowSearch(Window win); |
173 | void removeWindowSearchGroup(Window win); | ||
169 | void removeGroupSearch(Window win); | 174 | void removeGroupSearch(Window win); |
170 | void restart(const char *command = 0); | 175 | void restart(const char *command = 0); |
171 | void reconfigure(); | 176 | void reconfigure(); |
@@ -243,14 +248,21 @@ private: | |||
243 | FbTk::Resource<unsigned int> m_rc_cache_life, m_rc_cache_max; | 248 | FbTk::Resource<unsigned int> m_rc_cache_life, m_rc_cache_max; |
244 | 249 | ||
245 | 250 | ||
246 | std::map<Window, FluxboxWindow *> m_window_search; | 251 | std::map<Window, WinClient *> m_window_search; |
247 | std::map<Window, FluxboxWindow *> m_group_search; | 252 | std::map<Window, FluxboxWindow *> m_window_search_group; |
253 | // A window is the group leader, which can map to several | ||
254 | // WinClients in the group, it is *not* fluxbox's concept of groups | ||
255 | // See ICCCM section 4.1.11 | ||
256 | // The group leader (which may not be mapped, so may not have a WinClient) | ||
257 | // will have it's window being the group index | ||
258 | std::multimap<Window, WinClient *> m_group_search; | ||
248 | 259 | ||
249 | std::list<MenuTimestamp *> m_menu_timestamps; | 260 | std::list<MenuTimestamp *> m_menu_timestamps; |
250 | typedef std::list<BScreen *> ScreenList; | 261 | typedef std::list<BScreen *> ScreenList; |
251 | ScreenList m_screen_list; | 262 | ScreenList m_screen_list; |
252 | 263 | ||
253 | FluxboxWindow *m_focused_window, *m_masked_window; | 264 | WinClient *m_focused_window; |
265 | FluxboxWindow *m_masked_window; | ||
254 | FbTk::Timer m_timer; | 266 | FbTk::Timer m_timer; |
255 | 267 | ||
256 | BScreen *m_mousescreen, *m_keyscreen; | 268 | BScreen *m_mousescreen, *m_keyscreen; |