X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Fopenbox.i;h=74ed301060fa72c36158c717a7fd1b93f98164b5;hb=390d447d9ba92878fbd1a0f7955edb5f83256195;hp=a3192756eee5aaa8b883cd1c6f13ddfe636a3bf5;hpb=375156c1125cfad326642d7b5882746f0b9c3554;p=chaz%2Fopenbox diff --git a/src/openbox.i b/src/openbox.i index a3192756..74ed3010 100644 --- a/src/openbox.i +++ b/src/openbox.i @@ -10,28 +10,59 @@ #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 scripting callbacks! +%inline %{ + enum ActionType { + Action_ButtonPress, + Action_ButtonRelease, + Action_Click, + Action_DoubleClick, + Action_EnterWindow, + Action_LeaveWindow, + Action_KeyPress, + Action_MouseMotion + }; + enum WidgetType { + Type_Frame, + Type_Titlebar, + Type_Handle, + Type_Plate, + Type_Label, + Type_MaximizeButton, + Type_CloseButton, + Type_IconifyButton, + Type_StickyButton, + Type_LeftGrip, + Type_RightGrip, + Type_Client, + Type_Root + }; +%} +%ignore ob::python_callback; +%rename(register) ob::python_register; +%rename(preregister) ob::python_preregister; +%rename(unregister) ob::python_unregister; +%rename(unregister_all) ob::python_unregister_all; +%rename(bind_key) ob::python_bind_key; +%rename(unbind_key) ob::python_unbind_key; +%rename(bind_mouse) ob::python_bind_mouse; +%rename(unbind_mouse) ob::python_unbind_mouse; +%rename(unbind_all) ob::python_unbind_all; + +%ignore ob::OBScreen::clients; %{ #include %} @@ -47,3 +78,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"