]> icculus.org git repositories - dana/openbox.git/blob - util/epist/actions.hh
Added an action class and started the even handler.
[dana/openbox.git] / util / epist / actions.hh
1 #ifndef __actions_hh
2 #define __actions_hh
3 #include <list>
4
5 extern "C" {
6 #include <X11/X.h>
7 }
8 class Action {
9 public:
10     // xOr: this is crap.
11   enum ActionType {
12     noaction = 0,
13     execute,
14     iconify,
15     raiseWindow,
16     lowerWindow,
17     closeWindow,
18     shade,
19     moveWindowUp,
20     moveWindowDown,
21     moveWindowLeft,
22     moveWindowRight,
23
24     nextWindow,
25     prevWindow,
26     nextWindowOnAllDesktops,
27     prevWindowOnAllDesktops,
28
29     nextWindowOfClass,
30     prevWindowOfClass,
31
32     changeDesktop,
33     nextDesktop,
34     prevDesktop,
35
36     // these are openbox extensions
37     showRootMenu,
38     showWorkspaceMenu,
39
40     stringChain, 
41     keyChain,
42     numberChain,
43
44     cancel,
45   };
46
47 private:
48   enum Action::ActionType _type;
49   const KeyCode _keycode;
50   const int _modifierMask;
51   
52 public:
53   inline enum ActionType type() const { return _type;}
54   inline const KeyCode keycode() const { return _keycode; }
55   inline const int modifierMask() const { return _modifierMask; }
56
57   Action::Action(enum ActionType type, KeyCode keycode, int modifierMask);
58 };
59   
60 typedef list<Action> ActionList;
61
62 #endif