X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fpython.hh;h=c3dabeb8d06bde4ba23196abe3d05ea47fe6812e;hb=579ed5aa8d1b33a69476c2182a98ebc30557f096;hp=2332add0afb3c2a82cdab488c9f764c4b184ba13;hpb=d4853f108c1d22c344c1cb9a8a8b7cdc46648983;p=chaz%2Fopenbox diff --git a/src/python.hh b/src/python.hh index 2332add0..c3dabeb8 100644 --- a/src/python.hh +++ b/src/python.hh @@ -14,40 +14,47 @@ extern "C" { #include } -namespace ob { +#include -//! 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 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_key(PyObject *keylist, PyObject *callback); +namespace ob { -bool python_unbind_key(PyObject *keylist); +enum MouseContext { + MC_Frame, + MC_Titlebar, + MC_Window, + MC_MaximizeButton, + MC_CloseButton, + MC_IconifyButton, + MC_StickyButton, + MC_Grip, + MC_Root, + MC_MenuItem, + MC_All, + NUM_MOUSE_CONTEXT +} +enum KeyContext { + KC_Menu, + KC_All, + NUM_KEY_CONTEXT +} -//! Adds a mouse binding -bool python_bind_mouse(const std::string &button, PyObject *callback); +#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, + unsigned int state, unsigned int button, + int xroot, int yroot, Time time); -bool python_unbind_mouse(const std::string &button); +void python_callback(PyObject *func, Window window, unsigned int state, + unsigned int key, Time time); -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); +bool python_get_string(const char *name, std::string *value); +bool python_get_stringlist(const char *name, std::vector *value); +#endif }