diff options
Diffstat (limited to 'src/Screen.hh')
-rw-r--r-- | src/Screen.hh | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/Screen.hh b/src/Screen.hh index de1dc78..8694f6d 100644 --- a/src/Screen.hh +++ b/src/Screen.hh | |||
@@ -32,6 +32,8 @@ | |||
32 | #include "MenuTheme.hh" | 32 | #include "MenuTheme.hh" |
33 | #include "PlacementStrategy.hh" | 33 | #include "PlacementStrategy.hh" |
34 | 34 | ||
35 | #include "FbTk/EventHandler.hh" | ||
36 | #include "FbTk/TypeAhead.hh" | ||
35 | #include "FbTk/Resource.hh" | 37 | #include "FbTk/Resource.hh" |
36 | #include "FbTk/Subject.hh" | 38 | #include "FbTk/Subject.hh" |
37 | #include "FbTk/MultLayers.hh" | 39 | #include "FbTk/MultLayers.hh" |
@@ -78,7 +80,8 @@ class Subject; | |||
78 | /** | 80 | /** |
79 | Create workspaces, handles switching between workspaces and windows | 81 | Create workspaces, handles switching between workspaces and windows |
80 | */ | 82 | */ |
81 | class BScreen : public FbTk::Observer, private FbTk::NotCopyable { | 83 | class BScreen: public FbTk::EventHandler, public FbTk::Observer, |
84 | private FbTk::NotCopyable { | ||
82 | public: | 85 | public: |
83 | /// a window becomes active / focussed on a different workspace | 86 | /// a window becomes active / focussed on a different workspace |
84 | enum FollowModel { | 87 | enum FollowModel { |
@@ -209,6 +212,13 @@ public: | |||
209 | 212 | ||
210 | void update(FbTk::Subject *subj); | 213 | void update(FbTk::Subject *subj); |
211 | 214 | ||
215 | void keyPressEvent(XKeyEvent &ke); | ||
216 | void keyReleaseEvent(XKeyEvent &ke); | ||
217 | void buttonPressEvent(XButtonEvent &be); | ||
218 | void notifyUngrabKeyboard(); | ||
219 | |||
220 | void cycleFocus(int opts, bool reverse); | ||
221 | |||
212 | FbTk::Menu *createMenu(const std::string &label); | 222 | FbTk::Menu *createMenu(const std::string &label); |
213 | FbTk::Menu *createToggleMenu(const std::string &label); | 223 | FbTk::Menu *createToggleMenu(const std::string &label); |
214 | void hideMenus(); | 224 | void hideMenus(); |
@@ -294,8 +304,6 @@ public: | |||
294 | void showGeometry(int width, int height); | 304 | void showGeometry(int width, int height); |
295 | void hideGeometry(); | 305 | void hideGeometry(); |
296 | 306 | ||
297 | void notifyReleasedKeys(); | ||
298 | |||
299 | void setLayer(FbTk::XLayerItem &item, int layernum); | 307 | void setLayer(FbTk::XLayerItem &item, int layernum); |
300 | // remove? no, items are never removed from their layer until they die | 308 | // remove? no, items are never removed from their layer until they die |
301 | 309 | ||
@@ -477,6 +485,8 @@ private: | |||
477 | typedef std::map<Window, WinClient *> Groupables; | 485 | typedef std::map<Window, WinClient *> Groupables; |
478 | Groupables m_expecting_groups; | 486 | Groupables m_expecting_groups; |
479 | 487 | ||
488 | bool m_cycling; | ||
489 | |||
480 | // Xinerama related private data | 490 | // Xinerama related private data |
481 | bool m_xinerama_avail; | 491 | bool m_xinerama_avail; |
482 | int m_xinerama_num_heads; | 492 | int m_xinerama_num_heads; |