// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
-%module openbox
+%module ob
%{
#ifdef HAVE_CONFIG_H
# include "../config.h"
#endif
+#include "frame.hh"
#include "openbox.hh"
#include "screen.hh"
#include "client.hh"
//%include std_list.i
//%template(ClientList) std::list<Client*>;
-%ignore ob::Openbox::instance;
+%ignore ob::openbox;
%inline %{
- ob::Openbox *Openbox_instance() { return ob::Openbox::instance; }
+ ob::Openbox *Openbox_instance() { return ob::openbox; }
%};
%{
namespace ob {
void python_callback(PyObject *func, MouseData *data)
{
- PyObject *arglist;
- PyObject *result;
+ PyObject *arglist, *result, *pdata;
- arglist = Py_BuildValue("(O)", SWIG_NewPointerObj((void *) data,
- SWIGTYPE_p_ob__MouseData,
- 0));
+ pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__MouseData, 0);
+ arglist = Py_BuildValue("(O)", pdata);
+ Py_DECREF(pdata);
// call the callback
result = PyEval_CallObject(func, arglist);
void python_callback(PyObject *func, EventData *data)
{
- PyObject *arglist;
- PyObject *result;
+ PyObject *arglist, *result, *pdata;
- arglist = Py_BuildValue("(O)", SWIG_NewPointerObj((void *) data,
- SWIGTYPE_p_ob__EventData,
- 0));
+ pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__EventData, 0);
+ arglist = Py_BuildValue("(O)", pdata);
+ Py_DECREF(pdata);
// call the callback
result = PyEval_CallObject(func, arglist);
void python_callback(PyObject *func, KeyData *data)
{
- PyObject *arglist;
- PyObject *result;
+ PyObject *arglist, *result, *pdata;
- arglist = Py_BuildValue("(O)", SWIG_NewPointerObj((void *) data,
- SWIGTYPE_p_ob__KeyData,
- 0));
+ pdata = SWIG_NewPointerObj((void *) data, SWIGTYPE_p_ob__KeyData, 0);
+ arglist = Py_BuildValue("(O)", pdata);
+ Py_DECREF(pdata);
// call the callback
result = PyEval_CallObject(func, arglist);
}
%}
+#ignore ob::openbox;
+
%ignore ob::Screen::clients;
%{
#include <iterator>
%}
%extend ob::Screen {
Client *client(int i) {
- if (i >= (int)self->clients.size())
+ if (i < 0 || i >= (int)self->clients.size())
return NULL;
ob::Client::List::iterator it = self->clients.begin();
std::advance(it,i);
}
};
-%ignore otk::Display::display;
+/*
+%include "../otk/ustring.i"
+
+%ignore otk::display;
+%inline %{
+ otk::Display *Display_instance() { return otk::display; }
+%};
+
+%ignore otk::Property::atoms;
%inline %{
- Display *Display_display() { return otk::Display::display; }
+ const otk::Atoms& Property_atoms() { return otk::Property::atoms; }
%};
%include "../otk/display.hh"
%include "../otk/eventhandler.hh"
%include "../otk/eventdispatcher.hh"
+%import "../otk/widget.hh"
+*/
+%import "../otk/otk.i"
+
%import "widgetbase.hh"
%import "actions.hh"
%include "openbox.hh"
%include "screen.hh"
%include "client.hh"
+%include "frame.hh"
%include "python.hh"
// for Mod1Mask etc