aboutsummaryrefslogtreecommitdiff
path: root/src/fluxbox.hh
diff options
context:
space:
mode:
authorfluxgen <fluxgen>2006-02-18 20:19:22 (GMT)
committerfluxgen <fluxgen>2006-02-18 20:19:22 (GMT)
commit5ceacc65925f597180c918fcaa2a8171c42cbcdd (patch)
tree1cee0d151c5368ee69bf4e0e432d0f7f6af37b38 /src/fluxbox.hh
parentf53c93e5e0add69771204056550d07b4fee4efef (diff)
downloadfluxbox-5ceacc65925f597180c918fcaa2a8171c42cbcdd.zip
fluxbox-5ceacc65925f597180c918fcaa2a8171c42cbcdd.tar.bz2
moved all focus handling to FocusControl
Diffstat (limited to 'src/fluxbox.hh')
-rw-r--r--src/fluxbox.hh17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/fluxbox.hh b/src/fluxbox.hh
index bb2f9b6..40b0379 100644
--- a/src/fluxbox.hh
+++ b/src/fluxbox.hh
@@ -89,6 +89,8 @@ public:
89 /// main event loop 89 /// main event loop
90 void eventLoop(); 90 void eventLoop();
91 bool validateWindow(Window win) const; 91 bool validateWindow(Window win) const;
92 bool validateClient(const WinClient *client) const;
93
92 void grab(); 94 void grab();
93 void ungrab(); 95 void ungrab();
94 Keys *keys() { return m_key.get(); } 96 Keys *keys() { return m_key.get(); }
@@ -97,7 +99,6 @@ public:
97 // Not currently implemented until we decide how it'll be used 99 // Not currently implemented until we decide how it'll be used
98 //WinClient *searchGroup(Window); 100 //WinClient *searchGroup(Window);
99 WinClient *searchWindow(Window); 101 WinClient *searchWindow(Window);
100 WinClient *getFocusedWindow() { return m_focused_window; }
101 102
102 int initScreen(int screen_nr); 103 int initScreen(int screen_nr);
103 BScreen *searchScreen(Window w); 104 BScreen *searchScreen(Window w);
@@ -134,6 +135,7 @@ public:
134 // class to store layer numbers (special Resource type) 135 // class to store layer numbers (special Resource type)
135 // we have a special resource type because we need to be able to name certain layers 136 // we have a special resource type because we need to be able to name certain layers
136 // a Resource<int> wouldn't allow this 137 // a Resource<int> wouldn't allow this
138
137 class Layer { 139 class Layer {
138 public: 140 public:
139 explicit Layer(int i) : m_num(i) {}; 141 explicit Layer(int i) : m_num(i) {};
@@ -166,10 +168,6 @@ public:
166 168
167 void watchKeyRelease(BScreen &screen, unsigned int mods); 169 void watchKeyRelease(BScreen &screen, unsigned int mods);
168 170
169 void setFocusedWindow(WinClient *w);
170 void revertFocus(BScreen &screen);
171 // like revertFocus, but specifically related to this window (transients etc)
172 void unfocusWindow(WinClient &client, bool full_revert = true, bool unfocus_frame = false);
173 void shutdown(); 171 void shutdown();
174 void load_rc(BScreen &scr); 172 void load_rc(BScreen &scr);
175 void loadRootCommand(BScreen &scr); 173 void loadRootCommand(BScreen &scr);
@@ -200,6 +198,12 @@ public:
200 /// handle any system signal sent to the application 198 /// handle any system signal sent to the application
201 void handleSignal(int signum); 199 void handleSignal(int signum);
202 void update(FbTk::Subject *changed); 200 void update(FbTk::Subject *changed);
201 /**
202 * Sends update signal to atomhandlers,
203 * @param screen the new screen
204 * @param old_screen the old screen if any, can be the same as new screen
205 */
206 void updateFocusedWindow(BScreen *screen, BScreen *old_screen);
203 207
204 void attachSignals(FluxboxWindow &win); 208 void attachSignals(FluxboxWindow &win);
205 void attachSignals(WinClient &winclient); 209 void attachSignals(WinClient &winclient);
@@ -227,7 +231,7 @@ public:
227 // screen we are watching for modifier changes 231 // screen we are watching for modifier changes
228 BScreen *watchingScreen() { return m_watching_screen; } 232 BScreen *watchingScreen() { return m_watching_screen; }
229 const XEvent &lastEvent() const { return m_last_event; } 233 const XEvent &lastEvent() const { return m_last_event; }
230 234
231private: 235private:
232 236
233 typedef struct MenuTimestamp { 237 typedef struct MenuTimestamp {
@@ -292,7 +296,6 @@ private:
292 typedef std::list<BScreen *> ScreenList; 296 typedef std::list<BScreen *> ScreenList;
293 ScreenList m_screen_list; 297 ScreenList m_screen_list;
294 298
295 WinClient *m_focused_window;
296 FluxboxWindow *m_masked_window; 299 FluxboxWindow *m_masked_window;
297 300
298 BScreen *m_mousescreen, *m_keyscreen; 301 BScreen *m_mousescreen, *m_keyscreen;