X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fepist.hh;h=c888ac38f548459d58126a5e2aaba8fe8e7a9c1b;hb=13cf497f83b3f37df2d044bd138db9f776a077f1;hp=a3c4fdccdd8d5cce03cd0bb66ea82711b01c52fb;hpb=8ec56b9907d7fafab28e79cab362a43f2971ab72;p=chaz%2Fopenbox diff --git a/util/epist/epist.hh b/util/epist/epist.hh index a3c4fdcc..c888ac38 100644 --- a/util/epist/epist.hh +++ b/util/epist/epist.hh @@ -1,5 +1,5 @@ // -*- mode: C++; indent-tabs-mode: nil; -*- -// epist.hh for Epistophy - a key handler for NETWM/EWMH window managers. +// epist.hh for Epistrophy - a key handler for NETWM/EWMH window managers. // Copyright (c) 2002 - 2002 Ben Jansens // // Permission is hereby granted, free of charge, to any person obtaining a @@ -30,26 +30,31 @@ extern "C" { #include #include -#include +#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 ScreenList; - ScreenList _screens; + ScreenList _screens; typedef std::map WindowLookup; typedef WindowLookup::value_type WindowLookupPair; WindowLookup _windows; + + WindowList _clients; + WindowList::iterator _active; ActionList _actions; @@ -57,6 +62,7 @@ private: virtual bool handleSignal(int sig); void activateGrabs(); + public: epist(char **argv, char *display_name, char *rc_file); virtual ~epist(); @@ -67,7 +73,18 @@ public: void removeWindow(XWindow *window); XWindow *findWindow(Window window) const; - const ActionList actions(void) { return _actions; } + 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