diff options
| author | Marius Nita <marius@cs.pdx.edu> | 2002-08-26 06:43:48 +0000 |
|---|---|---|
| committer | Marius Nita <marius@cs.pdx.edu> | 2002-08-26 06:43:48 +0000 |
| commit | a991c575800a12afbc19de8bd75b87420934105a (patch) | |
| tree | 5ff2d773bf368edc173c3c737aef7b8fb4d745c8 /util/epist/screen.hh | |
| parent | d65127c22558c67ea5e3688ce905ff6013c27a11 (diff) | |
Epist now supports stacked cycling. :D/-< :D\-<
Added several functions and modified several other ones to grab/ungrab the keyboard, handle KeyRelease events, modified focus behavior in cycleWindow, and more.
Changed some calls for the new config format.
Diffstat (limited to 'util/epist/screen.hh')
| -rw-r--r-- | util/epist/screen.hh | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/util/epist/screen.hh b/util/epist/screen.hh index 34e3c77f..92533d98 100644 --- a/util/epist/screen.hh +++ b/util/epist/screen.hh @@ -31,6 +31,7 @@ extern "C" { #include <string> #include "window.hh" +#include "config.hh" class epist; class screen; @@ -45,15 +46,19 @@ class screen { const ScreenInfo *_info; std::string _wm_name; - + WindowList &_clients; WindowList::iterator &_active; WindowList::iterator _last_active; unsigned int _active_desktop; unsigned int _num_desktops; + const Config *_config; + bool _managed; bool _grabbed; // used for keygrab toggle function + bool _cycling; // used for stacked cycling + bool _stacked_cycling; XWindow *findWindow(const XEvent &e) const; void updateNumDesktops(); @@ -62,6 +67,8 @@ class screen { void updateActiveWindow(); bool doAddWindow(Window window) const; bool findSupportingWM(); + bool isModifier(const KeyCode kc) const; + bool nothingIsPressed(void) const; public: screen(epist *epist, int number); @@ -75,13 +82,14 @@ public: void processEvent(const XEvent &e); void handleKeypress(const XEvent &e); + void handleKeyrelease(const XEvent &e); void updateEverything(); - void cycleWindow(const bool forward, const int increment, + void cycleWindow(unsigned int state, const bool forward, const int increment, const bool allscreens = false, const bool alldesktops = false, const bool sameclass = false, - const std::string &classname = "") const; + const std::string &classname = ""); void cycleWorkspace(const bool forward, const int increment, const bool loop = true) const; void changeWorkspace(const int num) const; @@ -93,7 +101,9 @@ public: void grabKey(const KeyCode keyCode, const int modifierMask) const; void ungrabKey(const KeyCode keyCode, const int modifierMask) const; + + void grabModifiers(void) const; + void ungrabModifiers(void) const; }; #endif // __screen_hh - |
