]> icculus.org git repositories - mikachu/openbox.git/blob - util/epist/actions.hh
add a count to the actions enum
[mikachu/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     NUM_ACTIONS
47   };
48
49 private:
50   enum Action::ActionType _type;
51   const KeyCode _keycode;
52   const int _modifierMask;
53   
54 public:
55   inline enum ActionType type() const { return _type;}
56   inline const KeyCode keycode() const { return _keycode; }
57   inline const int modifierMask() const { return _modifierMask; }
58
59   Action::Action(enum ActionType type, KeyCode keycode, int modifierMask);
60 };
61   
62 typedef list<Action> ActionList;
63
64 #endif