]> Dogcows Code - chaz/openbox/blobdiff - util/epist/screen.hh
dont change last active while cycling around in stacked mode
[chaz/openbox] / util / epist / screen.hh
index 87eeff74807154ef824f6e64d9be806f116fc597..92533d98d3a2fb1d5592e452808635883da52425 100644 (file)
@@ -1,4 +1,4 @@
-// -*- mode: C++; indent-tabs-mode: nil; -*-
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 // screen.hh for Epistrophy - a key handler for NETWM/EWMH window managers.
 // Copyright (c) 2002 - 2002 Ben Jansens <ben at orodu.net>
 //
@@ -31,6 +31,7 @@ extern "C" {
 #include <string>
 
 #include "window.hh"
+#include "config.hh"
 
 class epist;
 class screen;
@@ -45,14 +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();
@@ -61,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);
@@ -74,20 +82,28 @@ public:
   
   void processEvent(const XEvent &e);
   void handleKeypress(const XEvent &e);
+  void handleKeyrelease(const XEvent &e);
   void updateEverything();
 
-  void cycleWindow(const bool forward, const bool allscreens = false,
+  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;
-  void cycleWorkspace(const bool forward, const bool loop = true) const;
+                   const std::string &classname = "");
+  void cycleWorkspace(const bool forward, const int increment,
+                      const bool loop = true) const;
   void changeWorkspace(const int num) const;
+  void changeWorkspaceVert(const int num) const;
+  void changeWorkspaceHorz(const int num) const;
+
   void toggleShaded(const Window win) const;
   void execCommand(const std::string &cmd) const;
 
   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
-
This page took 0.024846 seconds and 4 git commands to generate.