}
#include <list>
+#include <string>
class Action {
public:
// xOr: this is crap.
enum ActionType {
noaction = 0,
- execute,
- iconify,
- raiseWindow,
- lowerWindow,
- closeWindow,
- shade,
- moveWindowUp,
- moveWindowDown,
- moveWindowLeft,
- moveWindowRight,
-
- nextWindow,
- prevWindow,
- nextWindowOnAllDesktops,
- prevWindowOnAllDesktops,
-
- nextWindowOfClass,
- prevWindowOfClass,
-
- changeDesktop,
- nextDesktop,
- prevDesktop,
+ execute, //done
+ iconify, //done
+ raise, //done
+ lower, //done
+ close, //done
+ toggleshade, //done
+ toggleomnipresent, //done
+ moveWindowUp, //done
+ moveWindowDown, //done
+ moveWindowLeft, //done
+ moveWindowRight, //done
+ resizeWindowWidth, //done
+ resizeWindowHeight, //done
+ toggleMaximizeFull, //done
+ toggleMaximizeVertical, //done
+ toggleMaximizeHorizontal, //done
+
+ sendToWorkspace, //done
+
+ nextWindow, //done for now
+ prevWindow, //done for now
+ nextWindowOnAllWorkspaces, //done for now
+ prevWindowOnAllWorkspaces, //done for now
+
+ nextWindowOnAllScreens, //done for now
+ prevWindowOnAllScreens, //done for now
+
+ nextWindowOfClass, //done for now
+ prevWindowOfClass, //done for now
+ nextWindowOfClassOnAllWorkspaces, //done for now
+ prevWindowOfClassOnAllWorkspaces, //done for now
+
+ changeWorkspace, //done
+ nextWorkspace, //done
+ prevWorkspace, //done
+
+ nextScreen, //done for now
+ prevScreen, //done for now
+
// these are openbox extensions
showRootMenu,
showWorkspaceMenu,
private:
enum ActionType _type;
const KeyCode _keycode;
- const int _modifierMask;
-
+ const unsigned int _modifierMask;
+
+ const int _numberParam;
+ const std::string _stringParam;
public:
inline enum ActionType type() const { return _type;}
inline const KeyCode keycode() const { return _keycode; }
- inline const int modifierMask() const { return _modifierMask; }
+ inline const unsigned int modifierMask() const { return _modifierMask; }
+ inline const int number() const { return _numberParam; }
+ inline const std::string &string() const { return _stringParam; }
- Action::Action(enum ActionType type, KeyCode keycode, int modifierMask);
+ Action(enum ActionType type, KeyCode keycode, unsigned int modifierMask,
+ int number = 0);
+ Action(enum ActionType type, KeyCode keycode, unsigned int modifierMask,
+ const std::string &str);
};
-typedef list<Action> ActionList;
+typedef std::list<Action> ActionList;
#endif