aboutsummaryrefslogtreecommitdiff
path: root/src/Screen.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/Screen.hh')
-rw-r--r--src/Screen.hh16
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 */
81class BScreen : public FbTk::Observer, private FbTk::NotCopyable { 83class BScreen: public FbTk::EventHandler, public FbTk::Observer,
84 private FbTk::NotCopyable {
82public: 85public:
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;