]> Dogcows Code - chaz/openbox/blobdiff - util/epist/epist.hh
epist now based on the BaseDisplay.
[chaz/openbox] / util / epist / epist.hh
index 2f5d7399d534fdd87d8450b9603d34cd285c0686..061e1f4d82914ea7211843b735f141fc2c1f678a 100644 (file)
@@ -27,11 +27,40 @@ extern "C" {
 #include <X11/Xlib.h>
 }
 
+#include <string>
+#include <map>
+
+#include "../../src/BaseDisplay.hh"
+
 class XAtom;
+class screen;
+class XWindow;
+
+class epist : public BaseDisplay {
+private:
+  std::string     _rc_file;
+  XAtom          *_xatom;
+  char          **_argv;
+
+  typedef std::vector<screen *> ScreenList;
+  ScreenList      _screens;
+
+  typedef std::map<Window, XWindow*> WindowLookup;
+  typedef WindowLookup::value_type WindowLookupPair;
+  WindowLookup    _windows;
+
+  virtual void process_event(XEvent *e);
+  virtual bool handleSignal(int sig);
+
+public:
+  epist(char **argv, char *display_name, char *rc_file);
+  virtual ~epist();
+
+  inline XAtom *xatom() { return _xatom; }
 
-extern bool _shutdown;
-extern Display *_display;
-extern Window _root;
-extern XAtom *_xatom;
+  void addWindow(XWindow *window);
+  void removeWindow(XWindow *window);
+  XWindow *findWindow(Window window) const;
+};
 
 #endif // __epist_hh
This page took 0.021748 seconds and 4 git commands to generate.