X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=util%2Fepist%2Factions.hh;h=5d57e0db7aedf6f33a31cee59b129980cd75a4f9;hb=a16ae8733983b7e4c7733512cf1c5b9f2cb0b2db;hp=3471f4c4c54709abfd6dc26287e3ab7a4a1570fe;hpb=b9e5c705ab32865200ecce1e3b37a6966f296587;p=chaz%2Fopenbox diff --git a/util/epist/actions.hh b/util/epist/actions.hh index 3471f4c4..5d57e0db 100644 --- a/util/epist/actions.hh +++ b/util/epist/actions.hh @@ -1,37 +1,71 @@ +// -*- mode: C++; indent-tabs-mode: nil; -*- +// actions.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 +// copy of this software and associated documentation files (the "Software"), +// to deal in the Software without restriction, including without limitation +// the rights to use, copy, modify, merge, publish, distribute, sublicense, +// and/or sell copies of the Software, and to permit persons to whom the +// Software is furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +// DEALINGS IN THE SOFTWARE. + #ifndef __actions_hh #define __actions_hh -#include extern "C" { -#include +#include } + +#include +#include + class Action { public: // xOr: this is crap. enum ActionType { noaction = 0, - execute, - iconify, - raiseWindow, - lowerWindow, - closeWindow, - shade, + execute, //done + iconify, //done + raise, //done + lower, //done + close, //done + toggleshade, //done + toggleomnipresent, //done moveWindowUp, moveWindowDown, moveWindowLeft, moveWindowRight, - nextWindow, - prevWindow, - nextWindowOnAllDesktops, - prevWindowOnAllDesktops, + toggleMaximizeFull, + toggleMaximizeVertical, + toggleMaximizeHorizontal, - nextWindowOfClass, - prevWindowOfClass, + sendToWorkspace, //done - changeDesktop, - nextDesktop, - prevDesktop, + nextWindow, //done for now + prevWindow, //done for now + nextWindowOnAllWorkspaces, //done + prevWindowOnAllWorkspaces, //done + + nextWindowOfClass, //done + prevWindowOfClass, //done + nextWindowOfClassOnAllWorkspaces, //done + prevWindowOfClassOnAllWorkspaces, //done + + changeWorkspace, //done + nextWorkspace, //done + prevWorkspace, //done // these are openbox extensions showRootMenu, @@ -49,16 +83,23 @@ public: 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 ActionList; +typedef std::list ActionList; #endif