X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Fepist.hh;h=6da3818188283a9c16bbde93e9eaec6c3c7dcce5;hb=fc792813a24d22330b49eda8b3ef7054eadf20d3;hp=061e1f4d82914ea7211843b735f141fc2c1f678a;hpb=24a1e215d1f8d2ff1674847278a15336d4b671b6;p=chaz%2Fopenbox diff --git a/util/epist/epist.hh b/util/epist/epist.hh index 061e1f4d..6da38181 100644 --- a/util/epist/epist.hh +++ b/util/epist/epist.hh @@ -1,5 +1,5 @@ // -*- mode: C++; indent-tabs-mode: nil; -*- -// epist.hh for Epistory - a key handler for NETWM/EWMH window managers. +// epist.hh for Epistophy - 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,6 +30,8 @@ extern "C" { #include #include +#include "actions.hh" + #include "../../src/BaseDisplay.hh" class XAtom; @@ -49,9 +51,17 @@ private: typedef WindowLookup::value_type WindowLookupPair; WindowLookup _windows; + 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); virtual ~epist(); @@ -61,6 +71,13 @@ public: void addWindow(XWindow *window); void removeWindow(XWindow *window); XWindow *findWindow(Window window) const; + + void getLockModifiers(int &numlockMask, int &scrolllockMask) const { + numlockMask = NumLockMask; + scrolllockMask = ScrollLockMask; + } + + const ActionList &actions(void) { return _actions; } }; #endif // __epist_hh