X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fpython.hh;h=c5e566f440271acf8daf5d245d51f8f109268d93;hb=b35dae95a5cdb902f1661b9572af47c3f55c975c;hp=0870c9ad312d391889b07e8802899a0ccd11fadc;hpb=66a26917a0631463df7f72c34cbeb39df466918a;p=chaz%2Fopenbox diff --git a/src/python.hh b/src/python.hh index 0870c9ad..c5e566f4 100644 --- a/src/python.hh +++ b/src/python.hh @@ -6,24 +6,51 @@ @brief wee */ -#include "actions.hh" -#include "widget.hh" -#include "bindings.hh" - extern "C" { +#include #include } #include +#include namespace ob { +enum MouseContext { + MC_Frame, + MC_Titlebar, + MC_Window, + MC_MaximizeButton, + MC_CloseButton, + MC_IconifyButton, + MC_StickyButton, + MC_Grip, + MC_Root, + MC_MenuItem, + NUM_MOUSE_CONTEXT +}; + +enum MouseAction { + MousePress, + MouseClick, + MouseDoubleClick, + MouseMotion, + NUM_MOUSE_ACTION +}; + +enum KeyContext { + KC_Menu, + KC_All, + NUM_KEY_CONTEXT +}; + +#ifndef SWIG void python_init(char *argv0); void python_destroy(); bool python_exec(const std::string &path); -void python_callback(PyObject *func, OBActions::ActionType action, - Window window, OBWidget::WidgetType type, +void python_callback(PyObject *func, MouseAction action, + Window window, MouseContext context, unsigned int state, unsigned int button, int xroot, int yroot, Time time); @@ -32,7 +59,16 @@ void python_callback(PyObject *func, Window window, unsigned int state, bool python_get_string(const char *name, std::string *value); -bool python_getstringlist(const char *name, std::vector *value); +bool python_get_stringlist(const char *name, std::vector *value); +#endif + +PyObject * mbind(const std::string &button, ob::MouseContext context, + ob::MouseAction action, PyObject *func); + +PyObject * kbind(PyObject *keylist, ob::KeyContext context, PyObject *func); +PyObject * kunbind(PyObject *keylist); +void kunbind_all(); +void set_reset_key(const std::string &key); }