X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fpython.hh;h=2f77932138c724ae312298bd909c4e7e1e688cee;hb=d833fb1ecc6a65a8bccbbe15e372904f4bf17f23;hp=67943a847f9ad2c8e3b3e2993aff70fea55801fc;hpb=ca3e463057ebf8a7a48a5997aedc062cdac72f3f;p=chaz%2Fopenbox diff --git a/src/python.hh b/src/python.hh index 67943a84..2f779321 100644 --- a/src/python.hh +++ b/src/python.hh @@ -48,11 +48,22 @@ enum KeyContext { NUM_KEY_CONTEXT }; +enum EventAction { + EventEnterWindow, + EventLeaveWindow, + EventNewWindow, + EventCloseWindow, + EventStartup, + EventShutdown, + NUM_EVENTS +}; + #ifndef SWIG // *** MotionData can be (and is) cast ButtonData!! (in actions.cc) *** // typedef struct { PyObject_HEAD; + int screen; Window window; Time time; unsigned int state; @@ -72,6 +83,7 @@ typedef struct { // *** MotionData can be (and is) cast ButtonData!! (in actions.cc) *** // typedef struct { PyObject_HEAD; + int screen; Window window; Time time; unsigned int state; @@ -82,6 +94,15 @@ typedef struct { typedef struct { PyObject_HEAD; + int screen; + Window window; + unsigned int state; + EventAction action; +} EventData; + +typedef struct { + PyObject_HEAD; + int screen; Window window; Time time; unsigned int state; @@ -92,29 +113,33 @@ void python_init(char *argv0); void python_destroy(); bool python_exec(const std::string &path); -MotionData *new_motion_data(Window window, Time time, unsigned int state, - unsigned int button, MouseContext context, - MouseAction action, int xroot, int yroot, - const otk::Point &initpos, +MotionData *new_motion_data(int screen, Window window, Time time, + unsigned int state, unsigned int button, + MouseContext context, MouseAction action, + int xroot, int yroot, const otk::Point &initpos, const otk::Rect &initarea); -ButtonData *new_button_data(Window window, Time time, unsigned int state, - unsigned int button, MouseContext context, - MouseAction action); -KeyData *new_key_data(Window window, Time time, unsigned int state, +ButtonData *new_button_data(int screen, Window window, Time time, + unsigned int state, unsigned int button, + MouseContext context, MouseAction action); +EventData *new_event_data(int screen, Window window, EventAction action, + unsigned int state); +KeyData *new_key_data(int screen, Window window, Time time, unsigned int state, unsigned int key); void python_callback(PyObject *func, PyObject *data); +bool python_get_long(const char *name, long *value); bool python_get_string(const char *name, std::string *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 *mbind(const std::string &button, ob::MouseContext context, + ob::MouseAction action, PyObject *func); + +PyObject *kbind(PyObject *keylist, ob::KeyContext context, PyObject *func); + +PyObject *ebind(ob::EventAction 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); }