]> Dogcows Code - chaz/openbox/blobdiff - util/epist/epist.hh
Big fat merge for epist.
[chaz/openbox] / util / epist / epist.hh
index 049a672c8ed71848ee545c84731801de6b455c31..37b1d5b8adf52d6d7648c4feef5b46df8beeddd3 100644 (file)
@@ -30,37 +30,38 @@ extern "C" {
 #include <string>
 #include <map>
 
-#include <actions.hh>
+#include "actions.hh"
+#include "window.hh"
+#include "keytree.hh"
 
 #include "../../src/BaseDisplay.hh"
 
 class XAtom;
 class screen;
-class XWindow;
 
 class epist : public BaseDisplay {
 private:
-  std::string     _rc_file;
-  XAtom          *_xatom;
-  char          **_argv;
+  std::string _rc_file;
+  XAtom *_xatom;
+  char **_argv;
+  keytree *_ktree;
 
   typedef std::vector<screen *> ScreenList;
-  ScreenList      _screens;
+  ScreenList _screens;
 
   typedef std::map<Window, XWindow*> WindowLookup;
   typedef WindowLookup::value_type WindowLookupPair;
   WindowLookup    _windows;
+  
+  WindowList _clients;
+  WindowList::iterator _active;
 
-  ActionList      _actions;
+  ActionList _actions;
   
   virtual void process_event(XEvent *e);
   virtual bool handleSignal(int sig);
 
   void activateGrabs();
-  void addAction(Action::ActionType act, unsigned int modifiers,
-                 std::string key, int number = 0);
-  void addAction(Action::ActionType act, unsigned int modifiers,
-                 std::string key, std::string str);
 
 public:
   epist(char **argv, char *display_name, char *rc_file);
@@ -72,12 +73,18 @@ public:
   void removeWindow(XWindow *window);
   XWindow *findWindow(Window window) const;
 
+  void cycleScreen(int current, bool forward) const;
+
   void getLockModifiers(int &numlockMask, int &scrolllockMask) const {
     numlockMask = NumLockMask;
     scrolllockMask = ScrollLockMask;
   }
   
   const ActionList &actions(void) { return _actions; }
+  keytree &getKeyTree(void) { return *_ktree; }
+  
+  WindowList& clientsList() { return _clients; }
+  WindowList::iterator& activeWindow() { return _active; }
 };
 
 #endif // __epist_hh
This page took 0.023975 seconds and 4 git commands to generate.