]> Dogcows Code - chaz/openbox/blobdiff - src/python.hh
the bindings tree might work now
[chaz/openbox] / src / python.hh
index 61272a81d8aa36a61982bd38c6fd7d52e0cb9f78..8a1bb16135936b3af552cabe77270798f0397f44 100644 (file)
@@ -3,18 +3,47 @@
 #define   __python_hh
 
 /*! @file python.hh
-  @brief Python stuff
+  @brief wee
 */
 
-#include <python2.2/Python.h>
+#include "actions.hh"
+#include "widget.hh"
+#include "bindings.hh"
+
+extern "C" {
+#include <Python.h>
+}
 
 namespace ob {
 
-extern "C" {
+//! Add a python callback funtion to the back of the hook list
+bool python_register(int action, PyObject *callback);
+//! Add a python callback funtion to the front of the hook list
+bool python_preregister(int action, PyObject *callback);
+//! Remove a python callback function from the hook list
+bool python_unregister(int action, PyObject *callback);
 
-void initopenbox();
+//! Removes all python callback functions from the hook list
+bool python_unregister_all(int action);
+
+//! Add a mouse/keybinding
+/*!
+  @param keylist A python list of modifier/key/buttons, in the form:
+                 "C-A-space" or "A-Button1" etc.
+  @param callback A python function to call when the binding is used.
+*/
+bool python_bind(PyObject *keylist, PyObject *callback);
+
+bool python_unbind(PyObject *keylist);
+
+bool python_unbind_all();
+
+//! Fire a python callback function
+void python_callback(OBActions::ActionType action, Window window,
+                     OBWidget::WidgetType type, unsigned int state,
+                     long d1 = LONG_MIN, long d2 = LONG_MIN,
+                     long d3 = LONG_MIN, long d4 = LONG_MIN);
 
-}
 }
 
 #endif // __python_hh
This page took 0.020951 seconds and 4 git commands to generate.