X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fepist.hh;h=061e1f4d82914ea7211843b735f141fc2c1f678a;hb=24a1e215d1f8d2ff1674847278a15336d4b671b6;hp=2f5d7399d534fdd87d8450b9603d34cd285c0686;hpb=89d09297f0ef3d2db648a756f62a57bf2be317df;p=chaz%2Fopenbox diff --git a/util/epist/epist.hh b/util/epist/epist.hh index 2f5d7399..061e1f4d 100644 --- a/util/epist/epist.hh +++ b/util/epist/epist.hh @@ -27,11 +27,40 @@ extern "C" { #include } +#include +#include + +#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 ScreenList; + ScreenList _screens; + + typedef std::map 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