X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fopenbox.i;h=1ff7d357e4543041329dc0b0a9ea3cc87c90aeef;hb=3827c1a76e27865a9e2cc9da43c42399ea354e18;hp=3dbe190cc417f76985630b6948c2e99d159756a1;hpb=bf49e7642027f576716e5742544c282f4396f9ef;p=chaz%2Fopenbox diff --git a/src/openbox.i b/src/openbox.i index 3dbe190c..1ff7d357 100644 --- a/src/openbox.i +++ b/src/openbox.i @@ -10,33 +10,43 @@ #include "openbox.hh" #include "screen.hh" #include "client.hh" +#include "python.hh" %} + %include stl.i //%include std_list.i //%template(ClientList) std::list; - %ignore ob::Openbox::instance; -%ignore ob::OBScreen::clients; - -%import "../otk/eventdispatcher.hh" -%import "../otk/eventhandler.hh" -%import "widget.hh" - -%include "openbox.hh" -%include "screen.hh" -%include "client.hh" - %inline %{ ob::Openbox *Openbox_instance() { return ob::Openbox::instance; } %}; +// stuff for registering callbacks! + +%inline %{ + enum ActionType { + Action_ButtonPress, + Action_ButtonRelease, + Action_EnterWindow, + Action_LeaveWindow, + Action_KeyPress, + Action_MouseMotion + }; +%} +%ignore ob::python_callback; +%rename(register) ob::python_register; +%rename(unregister) ob::python_unregister; + +%ignore ob::OBScreen::clients; %{ #include %} %extend ob::OBScreen { OBClient *client(int i) { + if (i >= (int)self->clients.size()) + return NULL; ob::OBScreen::ClientList::iterator it = self->clients.begin(); std::advance(it,i); return *it; @@ -45,3 +55,15 @@ return (int) self->clients.size(); } }; + +%import "../otk/eventdispatcher.hh" +%import "../otk/eventhandler.hh" +%import "widget.hh" + +%include "openbox.hh" +%include "screen.hh" +%include "client.hh" +%include "python.hh" + +// for Mod1Mask etc +%include "X11/X.h"