summaryrefslogtreecommitdiff
path: root/util/epist/screen.hh
diff options
context:
space:
mode:
authorMarius Nita <marius@cs.pdx.edu>2002-08-26 06:43:48 +0000
committerMarius Nita <marius@cs.pdx.edu>2002-08-26 06:43:48 +0000
commita991c575800a12afbc19de8bd75b87420934105a (patch)
tree5ff2d773bf368edc173c3c737aef7b8fb4d745c8 /util/epist/screen.hh
parentd65127c22558c67ea5e3688ce905ff6013c27a11 (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.hh18
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
-