-// -*- mode: C++; indent-tabs-mode: nil; -*-
-// actions.hh for Epistophy - a key handler for NETWM/EWMH window managers.
+// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
+// actions.hh for Epistrophy - a key handler for NETWM/EWMH window managers.
// Copyright (c) 2002 - 2002 Ben Jansens <ben at orodu.net>
//
// Permission is hereby granted, free of charge, to any person obtaining a
}
#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,
- nextWindowOnAllWorkspaces,
- prevWindowOnAllWorkspaces,
-
- nextWindowOfClass,
- prevWindowOfClass,
+ 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
+
+ upWindow,
+ downWindow,
+ leftWindow,
+ rightWindow,
changeWorkspace, //done
nextWorkspace, //done
prevWorkspace, //done
+ upWorkspace, //all done
+ downWorkspace,
+ leftWorkspace,
+ rightWorkspace,
+
+ nextScreen, //done for now
+ prevScreen, //done for now
+
// these are openbox extensions
showRootMenu,
showWorkspaceMenu,
+ toggleDecorations,
+ toggleGrabs,
stringChain,
keyChain,
numberChain,
- cancel,
+ cancelChain, //done
NUM_ACTIONS
};
private:
enum ActionType _type;
const KeyCode _keycode;
- const int _modifierMask;
+ const unsigned int _modifierMask;
- const int _numberParam;
+ int _numberParam;
+ 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(enum ActionType type, KeyCode keycode, int modifierMask,
- int number = 0);
+ Action(enum ActionType type, KeyCode keycode, unsigned int modifierMask,
+ const std::string &str = "");
};
typedef std::list<Action> ActionList;