X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fpython.hh;h=8a1bb16135936b3af552cabe77270798f0397f44;hb=35c3e996b57adf77b78eb756b20a15646961a74c;hp=61272a81d8aa36a61982bd38c6fd7d52e0cb9f78;hpb=700984bd150d98a6876c117c2e1b1b3c72cffce1;p=chaz%2Fopenbox diff --git a/src/python.hh b/src/python.hh index 61272a81..8a1bb161 100644 --- a/src/python.hh +++ b/src/python.hh @@ -3,18 +3,47 @@ #define __python_hh /*! @file python.hh - @brief Python stuff + @brief wee */ -#include +#include "actions.hh" +#include "widget.hh" +#include "bindings.hh" + +extern "C" { +#include +} 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