X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fpython.hh;h=8a1bb16135936b3af552cabe77270798f0397f44;hb=35c3e996b57adf77b78eb756b20a15646961a74c;hp=7fc178eb72be9b44219cfd017a62c7e4a15fe133;hpb=3827c1a76e27865a9e2cc9da43c42399ea354e18;p=chaz%2Fopenbox diff --git a/src/python.hh b/src/python.hh index 7fc178eb..8a1bb161 100644 --- a/src/python.hh +++ b/src/python.hh @@ -8,6 +8,7 @@ #include "actions.hh" #include "widget.hh" +#include "bindings.hh" extern "C" { #include @@ -15,12 +16,33 @@ extern "C" { namespace ob { +//! 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); +//! 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 = 0, long d2 = 0); + long d1 = LONG_MIN, long d2 = LONG_MIN, + long d3 = LONG_MIN, long d4 = LONG_MIN); }