]> Dogcows Code - chaz/openbox/blobdiff - src/bindings.hh
use otk objects in the ob scripts by importing otk
[chaz/openbox] / src / bindings.hh
index 6ce567065a23f8461e6aa9fec601f9e180ffb8e8..2b2260e26aeeb40602a169e73a0caa110dbcc3d7 100644 (file)
@@ -51,7 +51,7 @@ typedef struct KeyBindingTree {
 
 typedef struct ButtonBinding {
   Binding binding;
-  CallbackList callbacks[NUM_MOUSE_ACTION];
+  CallbackList callbacks[MouseAction::NUM_MOUSE_ACTION];
   ButtonBinding() : binding(0, 0) {}
 };
 
@@ -67,7 +67,7 @@ private:
 
   Binding _resetkey; // the key which resets the key chain status
 
-  otk::Timer _timer;
+  otk::Timer *_timer;
   
   KeyBindingTree *find(KeyBindingTree *search, bool *conflict) const;
   KeyBindingTree *buildtree(const StringVect &keylist,
@@ -77,12 +77,14 @@ private:
   static void resetChains(Bindings *self); // the timer's timeout function
 
   typedef std::list <ButtonBinding*> ButtonBindingList;
-  ButtonBindingList _buttons[NUM_MOUSE_CONTEXT];
+  ButtonBindingList _buttons[MouseContext::NUM_MOUSE_CONTEXT];
 
-  void grabButton(bool grab, const Binding &b, MouseContext context,
+  void grabButton(bool grab, const Binding &b, MouseContext::MC context,
                   Client *client);
 
-  CallbackList _eventlist[NUM_EVENTS];
+  CallbackList _eventlist[EventAction::NUM_EVENTS];
+
+  PyObject *_keybgrab_callback;
   
 public:
   //! Initializes an Bindings object
@@ -111,14 +113,18 @@ public:
   //! Removes all key bindings
   void removeAllKeys();
 
-  void fireKey(int screen, unsigned int modifiers,unsigned int key, Time time);
+  void fireKey(int screen, unsigned int modifiers,unsigned int key, Time time,
+               KeyAction::KA action);
 
   void setResetKey(const std::string &key);
 
   void grabKeys(bool grab);
 
-  bool addButton(const std::string &but, MouseContext context,
-                 MouseAction action, PyObject *callback);
+  bool grabKeyboard(int screen, PyObject *callback);
+  void ungrabKeyboard();
+
+  bool addButton(const std::string &but, MouseContext::MC context,
+                 MouseAction::MA action, PyObject *callback);
 
   void grabButtons(bool grab, Client *client);
 
@@ -128,10 +134,10 @@ public:
   void fireButton(MouseData *data);
 
   //! Bind a callback for an event
-  bool addEvent(EventAction action, PyObject *callback);
+  bool addEvent(EventAction::EA action, PyObject *callback);
 
   //! Unbind the callback function from an event
-  bool removeEvent(EventAction action, PyObject *callback);
+  bool removeEvent(EventAction::EA action, PyObject *callback);
 
   //! Remove all callback functions
   void removeAllEvents();
This page took 0.022012 seconds and 4 git commands to generate.