X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fbindings.hh;h=3fbf3b8d773718b6598f95d334738998e8ac8d64;hb=d7a30f93b517ac76816d0acea92e9c56ad5d6594;hp=be73b51fefa4eb5c69de4cdca7393c5f059e00df;hpb=509e6a8f439bba220d71393b4da9597b7f8fa180;p=chaz%2Fopenbox diff --git a/src/bindings.hh b/src/bindings.hh index be73b51f..3fbf3b8d 100644 --- a/src/bindings.hh +++ b/src/bindings.hh @@ -6,11 +6,15 @@ @brief I dunno.. some binding stuff? */ +#include "actions.hh" + #include #include namespace ob { +class OBClient; + typedef struct Binding { unsigned int modifiers; unsigned int key; @@ -51,11 +55,14 @@ private: BindingTree *_mousetree; // this tree is a list. it has only siblings - int find_key(BindingTree *search); - bool translate(const std::string &str, Binding &b, bool askey); - BindingTree *buildtree(const StringVect &keylist, int id); - void OBBindings::assimilate(BindingTree *node); - + int find_key(BindingTree *search) const; + bool translate(const std::string &str, Binding &b, bool askey) const; + BindingTree *buildtree(const StringVect &keylist, int id) const; + void assimilate(BindingTree *node); + + void grabMouseOnAll(bool grab); + void grabKeys(bool grab); + public: //! Initializes an OBBinding object OBBindings(); @@ -109,6 +116,11 @@ public: // for reseting too...) void display(); + + void fire(OBActions::ActionType type, Window window, unsigned int modifiers, + unsigned int key, Time time); + + void grabMouse(bool grab, const OBClient *client); }; }