]> Dogcows Code - chaz/openbox/blobdiff - src/openbox_wrap.cc
add iconifying!!!!
[chaz/openbox] / src / openbox_wrap.cc
index a6386a1808149bc805b79ddbbc37411a56cd345d..e1e5b118f8a9c7462bcb668231b5affdcabb8e12 100644 (file)
@@ -668,13 +668,13 @@ SWIG_InstallConstants(PyObject *d, swig_const_info constants[]) {
 #define  SWIGTYPE_p_XPropertyEvent swig_types[20] 
 #define  SWIGTYPE_p_XSelectionRequestEvent swig_types[21] 
 #define  SWIGTYPE_p_ob__Cursors swig_types[22] 
-#define  SWIGTYPE_p_otk__ImageControl swig_types[23] 
+#define  SWIGTYPE_p_otk__RenderControl swig_types[23] 
 #define  SWIGTYPE_p_ob__MwmHints swig_types[24] 
 #define  SWIGTYPE_p_ob__Screen swig_types[25] 
 #define  SWIGTYPE_p_ob__Frame swig_types[26] 
 #define  SWIGTYPE_p_ob__KeyData swig_types[27] 
-#define  SWIGTYPE_p_XConfigureEvent swig_types[28] 
-#define  SWIGTYPE_p_XCirculateEvent swig_types[29] 
+#define  SWIGTYPE_p_XCirculateEvent swig_types[28] 
+#define  SWIGTYPE_p_XConfigureEvent swig_types[29] 
 #define  SWIGTYPE_p_XRectangle swig_types[30] 
 #define  SWIGTYPE_p_otk__ustring swig_types[31] 
 #define  SWIGTYPE_p_std__string swig_types[32] 
@@ -682,31 +682,34 @@ SWIG_InstallConstants(PyObject *d, swig_const_info constants[]) {
 #define  SWIGTYPE_p_otk__Display swig_types[34] 
 #define  SWIGTYPE_p_Display swig_types[35] 
 #define  SWIGTYPE_p_XMappingEvent swig_types[36] 
-#define  SWIGTYPE_p_otk__Style swig_types[37] 
-#define  SWIGTYPE_p_otk__EventHandler swig_types[38] 
-#define  SWIGTYPE_p_XReparentEvent swig_types[39] 
-#define  SWIGTYPE_p_otk__EventDispatcher swig_types[40] 
-#define  SWIGTYPE_p_otk__GCCache swig_types[41] 
-#define  SWIGTYPE_p_ob__Bindings swig_types[42] 
-#define  SWIGTYPE_p_ob__Openbox swig_types[43] 
-#define  SWIGTYPE_p_ob__Actions swig_types[44] 
+#define  SWIGTYPE_p_otk__EventHandler swig_types[37] 
+#define  SWIGTYPE_p_XReparentEvent swig_types[38] 
+#define  SWIGTYPE_p_otk__EventDispatcher swig_types[39] 
+#define  SWIGTYPE_p_otk__GCCache swig_types[40] 
+#define  SWIGTYPE_p_ob__Bindings swig_types[41] 
+#define  SWIGTYPE_p_ob__Openbox swig_types[42] 
+#define  SWIGTYPE_p_ob__Actions swig_types[43] 
+#define  SWIGTYPE_p_otk__Widget swig_types[44] 
 #define  SWIGTYPE_p_XEvent swig_types[45] 
 #define  SWIGTYPE_p_otk__Property swig_types[46] 
 #define  SWIGTYPE_p_PyObject swig_types[47] 
 #define  SWIGTYPE_p_otk__ScreenInfo swig_types[48] 
-#define  SWIGTYPE_p_ob__EventData swig_types[49] 
-#define  SWIGTYPE_p_XCreateWindowEvent swig_types[50] 
-#define  SWIGTYPE_p_XDestroyWindowEvent swig_types[51] 
-#define  SWIGTYPE_p_otk__Property__StringVect swig_types[52] 
-#define  SWIGTYPE_p_ob__WidgetBase swig_types[53] 
-#define  SWIGTYPE_p_XKeyEvent swig_types[54] 
-#define  SWIGTYPE_p_otk__Strut swig_types[55] 
-#define  SWIGTYPE_p_unsigned_long swig_types[56] 
-#define  SWIGTYPE_p_p_unsigned_long swig_types[57] 
-#define  SWIGTYPE_p_XMotionEvent swig_types[58] 
-#define  SWIGTYPE_p_XButtonEvent swig_types[59] 
-#define  SWIGTYPE_p_XSelectionEvent swig_types[60] 
-static swig_type_info *swig_types[62];
+#define  SWIGTYPE_p_otk__RenderStyle swig_types[49] 
+#define  SWIGTYPE_p_ob__EventData swig_types[50] 
+#define  SWIGTYPE_p_XCreateWindowEvent swig_types[51] 
+#define  SWIGTYPE_p_XDestroyWindowEvent swig_types[52] 
+#define  SWIGTYPE_p_otk__Property__StringVect swig_types[53] 
+#define  SWIGTYPE_p_ob__WidgetBase swig_types[54] 
+#define  SWIGTYPE_p_otk__Atoms swig_types[55] 
+#define  SWIGTYPE_p_XKeyEvent swig_types[56] 
+#define  SWIGTYPE_p_int swig_types[57] 
+#define  SWIGTYPE_p_otk__Strut swig_types[58] 
+#define  SWIGTYPE_p_p_unsigned_long swig_types[59] 
+#define  SWIGTYPE_p_unsigned_long swig_types[60] 
+#define  SWIGTYPE_p_XMotionEvent swig_types[61] 
+#define  SWIGTYPE_p_XButtonEvent swig_types[62] 
+#define  SWIGTYPE_p_XSelectionEvent swig_types[63] 
+static swig_type_info *swig_types[65];
 
 /* -------- TYPES TABLE (END) -------- */
 
@@ -722,6 +725,7 @@ static swig_type_info *swig_types[62];
 #  include "../config.h"
 #endif
 
+#include "frame.hh"
 #include "openbox.hh"
 #include "screen.hh"
 #include "client.hh"
@@ -882,10 +886,13 @@ void python_callback(PyObject *func, KeyData *data)
   #include <iterator>
 
 
+#include "ustring.hh"
+
+
   otk::Display *Display_instance() { return otk::display; }
 
 
-#include "ustring.hh"
+  const otk::Atoms& Property_atoms() { return otk::Property::atoms; }
 
 ob::Client *ob_Screen_client(ob::Screen *self,int i){
     if (i < 0 || i >= (int)self->clients.size())
@@ -928,6 +935,23 @@ static PyObject *_wrap_Display_instance(PyObject *self, PyObject *args) {
 }
 
 
+static PyObject *_wrap_Property_atoms(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":Property_atoms")) goto fail;
+    {
+        otk::Atoms const &_result_ref = Property_atoms();
+        result = (otk::Atoms *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Atoms, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_new_Display(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::Display *result;
@@ -984,7 +1008,7 @@ static PyObject *_wrap_Display_screenInfo(PyObject *self, PyObject *args) {
     
     if(!PyArg_ParseTuple(args,(char *)"Oi:Display_screenInfo",&obj0,&arg2)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Display,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::ScreenInfo *)(arg1)->screenInfo(arg2);
+    result = (otk::ScreenInfo *)((otk::Display const *)arg1)->screenInfo(arg2);
     
     resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__ScreenInfo, 0);
     return resultobj;
@@ -1005,7 +1029,7 @@ static PyObject *_wrap_Display_findScreen(PyObject *self, PyObject *args) {
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Display,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     arg2 = (Window) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    result = (otk::ScreenInfo *)(arg1)->findScreen(arg2);
+    result = (otk::ScreenInfo *)((otk::Display const *)arg1)->findScreen(arg2);
     
     resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__ScreenInfo, 0);
     return resultobj;
@@ -1014,6 +1038,24 @@ static PyObject *_wrap_Display_findScreen(PyObject *self, PyObject *args) {
 }
 
 
+static PyObject *_wrap_Display_renderControl(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Display *arg1 = (otk::Display *) 0 ;
+    int arg2 ;
+    otk::RenderControl *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Display_renderControl",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Display,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (otk::RenderControl *)((otk::Display const *)arg1)->renderControl(arg2);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__RenderControl, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_Display_xkb(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::Display *arg1 = (otk::Display *) 0 ;
@@ -1488,54 +1530,55 @@ static PyObject * Point_swigregister(PyObject *self, PyObject *args) {
     Py_INCREF(obj);
     return Py_BuildValue((char *)"");
 }
-static PyObject *_wrap_new_Property(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_cardinal_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)":new_Property")) goto fail;
-    result = (otk::Property *)new otk::Property();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_cardinal_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->cardinal = arg2;
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Property, 1);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_delete_Property(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_cardinal_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:delete_Property",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    delete arg1;
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_cardinal_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->cardinal);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Property_set__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_window_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    unsigned long arg5 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiO:Property_set",&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_window_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    arg5 = (unsigned long) PyInt_AsLong(obj4);
-    if (PyErr_Occurred()) SWIG_fail;
-    ((otk::Property const *)arg1)->set(arg2,(otk::Property::Atoms )arg3,(otk::Property::Atoms )arg4,arg5);
+    if (arg1) (arg1)->window = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -1544,57 +1587,35 @@ static PyObject *_wrap_Property_set__SWIG_0(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Property_set__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_window_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    unsigned long *arg5 ;
-    int arg6 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiOi:Property_set",&obj0,&obj1,&arg3,&arg4,&obj4,&arg6)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    ((otk::Property const *)arg1)->set(arg2,(otk::Property::Atoms )arg3,(otk::Property::Atoms )arg4,arg5,arg6);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_window_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->window);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Property_set__SWIG_2(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_pixmap_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    otk::ustring *arg5 = 0 ;
-    otk::ustring temp5 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiO:Property_set",&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_pixmap_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    {
-        if (PyString_Check(obj4)) {
-            temp5 = otk::ustring(PyString_AsString(obj4));
-            arg5 = &temp5;
-        }else {
-            SWIG_exception(SWIG_TypeError, "ustring expected");
-        }
-    }
-    ((otk::Property const *)arg1)->set(arg2,(otk::Property::Atoms )arg3,(otk::Property::StringType )arg4,(otk::ustring const &)*arg5);
+    if (arg1) (arg1)->pixmap = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -1603,26 +1624,35 @@ static PyObject *_wrap_Property_set__SWIG_2(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Property_set__SWIG_3(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_pixmap_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    otk::Property::StringVect *arg5 = 0 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_pixmap_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->pixmap);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_atom_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiO:Property_set",&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_atom_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_otk__Property__StringVect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg5 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    ((otk::Property const *)arg1)->set(arg2,(otk::Property::Atoms )arg3,(otk::Property::StringType )arg4,(otk::Property::StringVect const &)*arg5);
+    if (arg1) (arg1)->atom = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -1631,225 +1661,52 @@ static PyObject *_wrap_Property_set__SWIG_3(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Property_set(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[7];
-    int ii;
+static PyObject *_wrap_Atoms_atom_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
     
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 6); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 5) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            void *ptr;
-                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_otk__Property__StringVect, 0) == -1) {
-                                _v = 0;
-                                PyErr_Clear();
-                            }else {
-                                _v = 1;
-                            }
-                        }
-                        if (_v) {
-                            return _wrap_Property_set__SWIG_3(self,args);
-                        }
-                    }
-                }
-            }
-        }
-    }
-    if (argc == 5) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            _v = (PyInt_Check(argv[4]) || PyLong_Check(argv[4])) ? 1 : 0;
-                        }
-                        if (_v) {
-                            return _wrap_Property_set__SWIG_0(self,args);
-                        }
-                    }
-                }
-            }
-        }
-    }
-    if (argc == 5) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            _v = PyString_Check(argv[4]) ? 1 : 0;
-                        }
-                        if (_v) {
-                            return _wrap_Property_set__SWIG_2(self,args);
-                        }
-                    }
-                }
-            }
-        }
-    }
-    if (argc == 6) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            void *ptr;
-                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
-                                _v = 0;
-                                PyErr_Clear();
-                            }else {
-                                _v = 1;
-                            }
-                        }
-                        if (_v) {
-                            {
-                                _v = (PyInt_Check(argv[5]) || PyLong_Check(argv[5])) ? 1 : 0;
-                            }
-                            if (_v) {
-                                return _wrap_Property_set__SWIG_1(self,args);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_atom_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->atom);
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Property_set'");
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Property_get__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_string_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    unsigned long *arg5 = (unsigned long *) 0 ;
-    unsigned long **arg6 = (unsigned long **) 0 ;
-    bool result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
-    PyObject * obj5  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiOO:Property_get",&obj0,&obj1,&arg3,&arg4,&obj4,&obj5)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_string_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((otk::Property const *)arg1)->get(arg2,(otk::Property::Atoms )arg3,(otk::Property::Atoms )arg4,arg5,arg6);
+    if (arg1) (arg1)->string = arg2;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Property_get__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_string_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    unsigned long *arg5 = (unsigned long *) 0 ;
-    bool result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiO:Property_get",&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((otk::Property const *)arg1)->get(arg2,(otk::Property::Atoms )arg3,(otk::Property::Atoms )arg4,arg5);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_string_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->string);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -1858,53 +1715,35 @@ static PyObject *_wrap_Property_get__SWIG_1(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Property_get__SWIG_2(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_utf8_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    otk::ustring *arg5 = (otk::ustring *) 0 ;
-    bool result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiO:Property_get",&obj0,&obj1,&arg3,&arg4,&obj4)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_utf8_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_otk__ustring,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((otk::Property const *)arg1)->get(arg2,(otk::Property::Atoms )arg3,(otk::Property::StringType )arg4,arg5);
+    if (arg1) (arg1)->utf8 = arg2;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Property_get__SWIG_3(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_utf8_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
-    int arg4 ;
-    unsigned long *arg5 = (unsigned long *) 0 ;
-    otk::Property::StringVect *arg6 = (otk::Property::StringVect *) 0 ;
-    bool result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
-    PyObject * obj4  = 0 ;
-    PyObject * obj5  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOiiOO:Property_get",&obj0,&obj1,&arg3,&arg4,&obj4,&obj5)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj5,(void **) &arg6, SWIGTYPE_p_otk__Property__StringVect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((otk::Property const *)arg1)->get(arg2,(otk::Property::Atoms )arg3,(otk::Property::StringType )arg4,arg5,arg6);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_utf8_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->utf8);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -1913,220 +1752,18 @@ static PyObject *_wrap_Property_get__SWIG_3(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Property_get(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[7];
-    int ii;
-    
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 6); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 5) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            void *ptr;
-                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
-                                _v = 0;
-                                PyErr_Clear();
-                            }else {
-                                _v = 1;
-                            }
-                        }
-                        if (_v) {
-                            return _wrap_Property_get__SWIG_1(self,args);
-                        }
-                    }
-                }
-            }
-        }
-    }
-    if (argc == 5) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            void *ptr;
-                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_otk__ustring, 0) == -1) {
-                                _v = 0;
-                                PyErr_Clear();
-                            }else {
-                                _v = 1;
-                            }
-                        }
-                        if (_v) {
-                            return _wrap_Property_get__SWIG_2(self,args);
-                        }
-                    }
-                }
-            }
-        }
-    }
-    if (argc == 6) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            void *ptr;
-                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
-                                _v = 0;
-                                PyErr_Clear();
-                            }else {
-                                _v = 1;
-                            }
-                        }
-                        if (_v) {
-                            {
-                                void *ptr;
-                                if (SWIG_ConvertPtr(argv[5], (void **) &ptr, SWIGTYPE_p_p_unsigned_long, 0) == -1) {
-                                    _v = 0;
-                                    PyErr_Clear();
-                                }else {
-                                    _v = 1;
-                                }
-                            }
-                            if (_v) {
-                                return _wrap_Property_get__SWIG_0(self,args);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-    if (argc == 6) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Property, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            void *ptr;
-                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
-                                _v = 0;
-                                PyErr_Clear();
-                            }else {
-                                _v = 1;
-                            }
-                        }
-                        if (_v) {
-                            {
-                                void *ptr;
-                                if (SWIG_ConvertPtr(argv[5], (void **) &ptr, SWIGTYPE_p_otk__Property__StringVect, 0) == -1) {
-                                    _v = 0;
-                                    PyErr_Clear();
-                                }else {
-                                    _v = 1;
-                                }
-                            }
-                            if (_v) {
-                                return _wrap_Property_get__SWIG_3(self,args);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-    
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Property_get'");
-    return NULL;
-}
-
-
-static PyObject *_wrap_Property_erase(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_openbox_pid_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    Window arg2 ;
-    int arg3 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOi:Property_erase",&obj0,&obj1,&arg3)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_openbox_pid_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    ((otk::Property const *)arg1)->erase(arg2,(otk::Property::Atoms )arg3);
+    if (arg1) (arg1)->openbox_pid = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2135,16 +1772,15 @@ static PyObject *_wrap_Property_erase(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Property_atom(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_openbox_pid_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Property *arg1 = (otk::Property *) 0 ;
-    int arg2 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
     Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Property_atom",&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Property,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Atom)((otk::Property const *)arg1)->atom((otk::Property::Atoms )arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_openbox_pid_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->openbox_pid);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -2153,235 +1789,146 @@ static PyObject *_wrap_Property_atom(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject * Property_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_otk__Property, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_new_Rect__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_colormap_windows_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)":new_Rect")) goto fail;
-    result = (otk::Rect *)new otk::Rect();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_colormap_windows_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_colormap_windows = arg2;
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Rect__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_colormap_windows_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    int arg1 ;
-    int arg2 ;
-    int arg3 ;
-    int arg4 ;
-    otk::Rect *result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"iiii:new_Rect",&arg1,&arg2,&arg3,&arg4)) goto fail;
-    result = (otk::Rect *)new otk::Rect(arg1,arg2,arg3,arg4);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_colormap_windows_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_colormap_windows);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Rect__SWIG_2(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_protocols_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Point *arg1 = 0 ;
-    otk::Point *arg2 = 0 ;
-    otk::Rect *result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:new_Rect",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg1 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (otk::Rect *)new otk::Rect((otk::Point const &)*arg1,(otk::Point const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_protocols_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_protocols = arg2;
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Rect__SWIG_3(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_protocols_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = 0 ;
-    otk::Rect *result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:new_Rect",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg1 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (otk::Rect *)new otk::Rect((otk::Rect const &)*arg1);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_protocols_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_protocols);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Rect__SWIG_4(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_state_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    XRectangle *arg1 = 0 ;
-    otk::Rect *result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:new_Rect",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_XRectangle,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg1 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (otk::Rect *)new otk::Rect((XRectangle const &)*arg1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_state_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_state = arg2;
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Rect(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[5];
-    int ii;
+static PyObject *_wrap_Atoms_wm_state_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
     
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 0) {
-        return _wrap_new_Rect__SWIG_0(self,args);
-    }
-    if (argc == 1) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            return _wrap_new_Rect__SWIG_3(self,args);
-        }
-    }
-    if (argc == 1) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_XRectangle, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            return _wrap_new_Rect__SWIG_4(self,args);
-        }
-    }
-    if (argc == 2) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                void *ptr;
-                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                    _v = 0;
-                    PyErr_Clear();
-                }else {
-                    _v = 1;
-                }
-            }
-            if (_v) {
-                return _wrap_new_Rect__SWIG_2(self,args);
-            }
-        }
-    }
-    if (argc == 4) {
-        int _v;
-        {
-            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        return _wrap_new_Rect__SWIG_1(self,args);
-                    }
-                }
-            }
-        }
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_state_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_state);
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'new_Rect'");
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_left(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_delete_window_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_left",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->left();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_delete_window_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_delete_window = arg2;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_top(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_delete_window_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_top",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->top();
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_delete_window_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_delete_window);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -2390,32 +1937,35 @@ static PyObject *_wrap_Rect_top(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_right(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_take_focus_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_right",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->right();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_take_focus_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_take_focus = arg2;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_bottom(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_take_focus_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_bottom",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->bottom();
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_take_focus_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_take_focus);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -2424,32 +1974,35 @@ static PyObject *_wrap_Rect_bottom(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_x(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_change_state_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_x",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->x();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_change_state_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_change_state = arg2;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_y(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_change_state_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_y",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->y();
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_change_state_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_change_state);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -2458,53 +2011,55 @@ static PyObject *_wrap_Rect_y(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_location(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_name_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Point result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_location",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = ((otk::Rect const *)arg1)->location();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_name_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_name = arg2;
     
-    {
-        otk::Point * resultptr;
-        resultptr = new otk::Point((otk::Point &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Point, 1);
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_setX(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_name_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setX",&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setX(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_name_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_name);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_setY(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_icon_name_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setY",&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setY(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_icon_name_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_icon_name = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2513,16 +2068,35 @@ static PyObject *_wrap_Rect_setY(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setPos__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_icon_name_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
-    int arg3 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oii:Rect_setPos",&obj0,&arg2,&arg3)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setPos(arg2,arg3);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_icon_name_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_icon_name);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_wm_class_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_class_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_class = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2531,20 +2105,35 @@ static PyObject *_wrap_Rect_setPos__SWIG_0(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setPos__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_wm_class_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Point *arg2 = 0 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_class_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_class);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_wm_window_role_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_setPos",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->setPos((otk::Point const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_wm_window_role_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->wm_window_role = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2553,98 +2142,52 @@ static PyObject *_wrap_Rect_setPos__SWIG_1(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setPos(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[4];
-    int ii;
+static PyObject *_wrap_Atoms_wm_window_role_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
     
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 2) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                void *ptr;
-                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                    _v = 0;
-                    PyErr_Clear();
-                }else {
-                    _v = 1;
-                }
-            }
-            if (_v) {
-                return _wrap_Rect_setPos__SWIG_1(self,args);
-            }
-        }
-    }
-    if (argc == 3) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    return _wrap_Rect_setPos__SWIG_0(self,args);
-                }
-            }
-        }
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_wm_window_role_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->wm_window_role);
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setPos'");
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_width(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_motif_wm_hints_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_width",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->width();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_motif_wm_hints_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->motif_wm_hints = arg2;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_height(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_motif_wm_hints_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_height",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::Rect const *)arg1)->height();
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_motif_wm_hints_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->motif_wm_hints);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -2653,53 +2196,55 @@ static PyObject *_wrap_Rect_height(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_size(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_openbox_show_root_menu_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Point result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_size",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = ((otk::Rect const *)arg1)->size();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_openbox_show_root_menu_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->openbox_show_root_menu = arg2;
     
-    {
-        otk::Point * resultptr;
-        resultptr = new otk::Point((otk::Point &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Point, 1);
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_setWidth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_openbox_show_root_menu_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setWidth",&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setWidth(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_openbox_show_root_menu_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->openbox_show_root_menu);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_setHeight(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_openbox_show_workspace_menu_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setHeight",&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setHeight(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_openbox_show_workspace_menu_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->openbox_show_workspace_menu = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2708,38 +2253,35 @@ static PyObject *_wrap_Rect_setHeight(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setSize__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_openbox_show_workspace_menu_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
-    int arg3 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oii:Rect_setSize",&obj0,&arg2,&arg3)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setSize(arg2,arg3);
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_openbox_show_workspace_menu_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->openbox_show_workspace_menu);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_setSize__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_supported_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Point *arg2 = 0 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_setSize",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->setSize((otk::Point const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_supported_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_supported = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2748,84 +2290,35 @@ static PyObject *_wrap_Rect_setSize__SWIG_1(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setSize(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[4];
-    int ii;
+static PyObject *_wrap_Atoms_net_supported_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
     
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 2) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                void *ptr;
-                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                    _v = 0;
-                    PyErr_Clear();
-                }else {
-                    _v = 1;
-                }
-            }
-            if (_v) {
-                return _wrap_Rect_setSize__SWIG_1(self,args);
-            }
-        }
-    }
-    if (argc == 3) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    return _wrap_Rect_setSize__SWIG_0(self,args);
-                }
-            }
-        }
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_supported_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_supported);
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setSize'");
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_setRect__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_client_list_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    int arg4 ;
-    int arg5 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oiiii:Rect_setRect",&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setRect(arg2,arg3,arg4,arg5);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_client_list_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_client_list = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2834,26 +2327,35 @@ static PyObject *_wrap_Rect_setRect__SWIG_0(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setRect__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_client_list_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Point *arg2 = 0 ;
-    otk::Point *arg3 = 0 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_client_list_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_client_list);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_client_list_stacking_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOO:Rect_setRect",&obj0,&obj1,&obj2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg3 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->setRect((otk::Point const &)*arg2,(otk::Point const &)*arg3);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_client_list_stacking_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_client_list_stacking = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2862,105 +2364,35 @@ static PyObject *_wrap_Rect_setRect__SWIG_1(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setRect(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[6];
-    int ii;
+static PyObject *_wrap_Atoms_net_client_list_stacking_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
     
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 3) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                void *ptr;
-                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                    _v = 0;
-                    PyErr_Clear();
-                }else {
-                    _v = 1;
-                }
-            }
-            if (_v) {
-                {
-                    void *ptr;
-                    if (SWIG_ConvertPtr(argv[2], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                        _v = 0;
-                        PyErr_Clear();
-                    }else {
-                        _v = 1;
-                    }
-                }
-                if (_v) {
-                    return _wrap_Rect_setRect__SWIG_1(self,args);
-                }
-            }
-        }
-    }
-    if (argc == 5) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            _v = (PyInt_Check(argv[4]) || PyLong_Check(argv[4])) ? 1 : 0;
-                        }
-                        if (_v) {
-                            return _wrap_Rect_setRect__SWIG_0(self,args);
-                        }
-                    }
-                }
-            }
-        }
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_client_list_stacking_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_client_list_stacking);
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setRect'");
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_setCoords__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_number_of_desktops_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    int arg4 ;
-    int arg5 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oiiii:Rect_setCoords",&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setCoords(arg2,arg3,arg4,arg5);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_number_of_desktops_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_number_of_desktops = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2969,26 +2401,35 @@ static PyObject *_wrap_Rect_setCoords__SWIG_0(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setCoords__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_number_of_desktops_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Point *arg2 = 0 ;
-    otk::Point *arg3 = 0 ;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_number_of_desktops_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_number_of_desktops);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_desktop_geometry_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOO:Rect_setCoords",&obj0,&obj1,&obj2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg3 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->setCoords((otk::Point const &)*arg2,(otk::Point const &)*arg3);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_desktop_geometry_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_desktop_geometry = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -2997,108 +2438,52 @@ static PyObject *_wrap_Rect_setCoords__SWIG_1(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_setCoords(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[6];
-    int ii;
+static PyObject *_wrap_Atoms_net_desktop_geometry_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
     
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 3) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                void *ptr;
-                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                    _v = 0;
-                    PyErr_Clear();
-                }else {
-                    _v = 1;
-                }
-            }
-            if (_v) {
-                {
-                    void *ptr;
-                    if (SWIG_ConvertPtr(argv[2], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                        _v = 0;
-                        PyErr_Clear();
-                    }else {
-                        _v = 1;
-                    }
-                }
-                if (_v) {
-                    return _wrap_Rect_setCoords__SWIG_1(self,args);
-                }
-            }
-        }
-    }
-    if (argc == 5) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        {
-                            _v = (PyInt_Check(argv[4]) || PyLong_Check(argv[4])) ? 1 : 0;
-                        }
-                        if (_v) {
-                            return _wrap_Rect_setCoords__SWIG_0(self,args);
-                        }
-                    }
-                }
-            }
-        }
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_desktop_geometry_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_desktop_geometry);
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setCoords'");
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect___eq__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_desktop_viewport_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    bool result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___eq__",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (bool)(arg1)->operator ==((otk::Rect const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_desktop_viewport_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_desktop_viewport = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_desktop_viewport_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_desktop_viewport_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_desktop_viewport);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -3107,21 +2492,35 @@ static PyObject *_wrap_Rect___eq__(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect___ne__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_current_desktop_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    bool result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___ne__",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (bool)(arg1)->operator !=((otk::Rect const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_current_desktop_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_current_desktop = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_current_desktop_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_current_desktop_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_current_desktop);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -3130,121 +2529,4067 @@ static PyObject *_wrap_Rect___ne__(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect___or__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Atoms_net_desktop_names_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    otk::Rect result;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___or__",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = ((otk::Rect const *)arg1)->operator |((otk::Rect const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_desktop_names_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_desktop_names = arg2;
     
-    {
-        otk::Rect * resultptr;
-        resultptr = new otk::Rect((otk::Rect &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Rect, 1);
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_desktop_names_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_desktop_names_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_desktop_names);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_active_window_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_active_window_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_active_window = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_active_window_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_active_window_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_active_window);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_workarea_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_workarea_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_workarea = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_workarea_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_workarea_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_workarea);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_supporting_wm_check_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_supporting_wm_check_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_supporting_wm_check = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_supporting_wm_check_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_supporting_wm_check_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_supporting_wm_check);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_close_window_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_close_window_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_close_window = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_close_window_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_close_window_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_close_window);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_moveresize_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_moveresize = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_moveresize_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_moveresize);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_name_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_name_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_name = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_name_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_name_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_name);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_visible_name_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_visible_name_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_visible_name = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_visible_name_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_visible_name_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_visible_name);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_icon_name_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_icon_name_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_icon_name = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_icon_name_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_icon_name_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_icon_name);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_visible_icon_name_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_visible_icon_name_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_visible_icon_name = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_visible_icon_name_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_visible_icon_name_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_visible_icon_name);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_desktop_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_desktop_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_desktop = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_desktop_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_desktop_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_desktop);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_strut_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_strut_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_strut = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_strut_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_strut_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_strut);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_allowed_actions_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_allowed_actions_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_allowed_actions = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_allowed_actions_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_allowed_actions_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_allowed_actions);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_desktop_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_desktop_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_desktop = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_desktop_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_desktop_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_desktop);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_dock_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_dock_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_dock = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_dock_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_dock_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_dock);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_toolbar_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_toolbar_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_toolbar = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_toolbar_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_toolbar_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_toolbar);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_menu_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_menu_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_menu = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_menu_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_menu_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_menu);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_utility_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_utility_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_utility = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_utility_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_utility_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_utility);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_splash_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_splash_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_splash = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_splash_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_splash_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_splash);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_dialog_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_dialog_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_dialog = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_dialog_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_dialog_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_dialog);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_normal_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_window_type_normal_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_window_type_normal = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_window_type_normal_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_window_type_normal_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_window_type_normal);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_topleft_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_moveresize_size_topleft_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_moveresize_size_topleft = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_topleft_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_moveresize_size_topleft_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_moveresize_size_topleft);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_topright_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_moveresize_size_topright_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_moveresize_size_topright = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_topright_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_moveresize_size_topright_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_moveresize_size_topright);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_bottomleft_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_moveresize_size_bottomleft_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_moveresize_size_bottomleft = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_bottomleft_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_moveresize_size_bottomleft_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_moveresize_size_bottomleft);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_bottomright_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_moveresize_size_bottomright_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_moveresize_size_bottomright = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_size_bottomright_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_moveresize_size_bottomright_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_moveresize_size_bottomright);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_move_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_moveresize_move_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_moveresize_move = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_moveresize_move_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_moveresize_move_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_moveresize_move);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_move_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_move_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_move = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_move_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_move_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_move);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_resize_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_resize_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_resize = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_resize_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_resize_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_resize);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_minimize_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_minimize_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_minimize = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_minimize_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_minimize_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_minimize);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_shade_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_shade_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_shade = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_shade_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_shade_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_shade);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_stick_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_stick_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_stick = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_stick_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_stick_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_stick);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_maximize_horz_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_maximize_horz_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_maximize_horz = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_maximize_horz_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_maximize_horz_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_maximize_horz);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_maximize_vert_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_maximize_vert_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_maximize_vert = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_maximize_vert_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_maximize_vert_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_maximize_vert);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_fullscreen_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_fullscreen_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_fullscreen = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_fullscreen_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_fullscreen_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_fullscreen);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_change_desktop_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_change_desktop_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_change_desktop = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_change_desktop_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_change_desktop_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_change_desktop);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_close_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_action_close_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_action_close = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_action_close_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_action_close_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_action_close);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_modal_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_modal_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_modal = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_modal_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_modal_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_modal);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_sticky_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_sticky_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_sticky = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_sticky_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_sticky_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_sticky);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_maximized_vert_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_maximized_vert_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_maximized_vert = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_maximized_vert_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_maximized_vert_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_maximized_vert);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_maximized_horz_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_maximized_horz_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_maximized_horz = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_maximized_horz_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_maximized_horz_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_maximized_horz);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_shaded_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_shaded_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_shaded = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_shaded_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_shaded_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_shaded);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_skip_taskbar_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_skip_taskbar_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_skip_taskbar = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_skip_taskbar_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_skip_taskbar_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_skip_taskbar);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_skip_pager_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_skip_pager_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_skip_pager = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_skip_pager_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_skip_pager_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_skip_pager);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_hidden_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_hidden_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_hidden = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_hidden_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_hidden_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_hidden);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_fullscreen_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_fullscreen_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_fullscreen = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_fullscreen_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_fullscreen_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_fullscreen);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_above_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_above_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_above = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_above_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_above_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_above);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_below_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_net_wm_state_below_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->net_wm_state_below = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_net_wm_state_below_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_net_wm_state_below_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->net_wm_state_below);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_kde_net_system_tray_windows_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_kde_net_system_tray_windows_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->kde_net_system_tray_windows = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_kde_net_system_tray_windows_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_kde_net_system_tray_windows_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->kde_net_system_tray_windows);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_kde_net_wm_system_tray_window_for_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_kde_net_wm_system_tray_window_for_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->kde_net_wm_system_tray_window_for = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_kde_net_wm_system_tray_window_for_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_kde_net_wm_system_tray_window_for_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->kde_net_wm_system_tray_window_for);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_kde_net_wm_window_type_override_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Atoms_kde_net_wm_window_type_override_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->kde_net_wm_window_type_override = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Atoms_kde_net_wm_window_type_override_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Atoms *arg1 = (otk::Atoms *) 0 ;
+    Atom result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Atoms_kde_net_wm_window_type_override_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Atoms,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Atom) ((arg1)->kde_net_wm_window_type_override);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Atoms_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_otk__Atoms, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Property_initialize(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    
+    if(!PyArg_ParseTuple(args,(char *)":Property_initialize")) goto fail;
+    otk::Property::initialize();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_set__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    Atom arg3 ;
+    unsigned long arg4 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
+    PyObject * obj3  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Property_set",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = (Atom) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg4 = (unsigned long) PyInt_AsLong(obj3);
+    if (PyErr_Occurred()) SWIG_fail;
+    otk::Property::set(arg1,arg2,arg3,arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_set__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    Atom arg3 ;
+    unsigned long *arg4 ;
+    int arg5 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
+    PyObject * obj3  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOi:Property_set",&obj0,&obj1,&obj2,&obj3,&arg5)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = (Atom) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    otk::Property::set(arg1,arg2,arg3,arg4,arg5);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_set__SWIG_2(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    int arg3 ;
+    otk::ustring *arg4 = 0 ;
+    otk::ustring temp4 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj3  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOiO:Property_set",&obj0,&obj1,&arg3,&obj3)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    {
+        if (PyString_Check(obj3)) {
+            temp4 = otk::ustring(PyString_AsString(obj3));
+            arg4 = &temp4;
+        }else {
+            SWIG_exception(SWIG_TypeError, "ustring expected");
+        }
+    }
+    otk::Property::set(arg1,arg2,(otk::Property::StringType )arg3,(otk::ustring const &)*arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_set__SWIG_3(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    int arg3 ;
+    otk::Property::StringVect *arg4 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj3  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOiO:Property_set",&obj0,&obj1,&arg3,&obj3)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_otk__Property__StringVect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg4 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    otk::Property::set(arg1,arg2,(otk::Property::StringType )arg3,(otk::Property::StringVect const &)*arg4);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_set(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        void *ptr;
+                        if (SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_otk__Property__StringVect, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        }else {
+                            _v = 1;
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_Property_set__SWIG_3(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
+                    }
+                    if (_v) {
+                        return _wrap_Property_set__SWIG_0(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        _v = PyString_Check(argv[3]) ? 1 : 0;
+                    }
+                    if (_v) {
+                        return _wrap_Property_set__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        void *ptr;
+                        if (SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        }else {
+                            _v = 1;
+                        }
+                    }
+                    if (_v) {
+                        {
+                            _v = (PyInt_Check(argv[4]) || PyLong_Check(argv[4])) ? 1 : 0;
+                        }
+                        if (_v) {
+                            return _wrap_Property_set__SWIG_1(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Property_set'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_get__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    Atom arg3 ;
+    unsigned long *arg4 = (unsigned long *) 0 ;
+    unsigned long **arg5 = (unsigned long **) 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
+    PyObject * obj3  = 0 ;
+    PyObject * obj4  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOOO:Property_get",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = (Atom) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)otk::Property::get(arg1,arg2,arg3,arg4,arg5);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_get__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    Atom arg3 ;
+    unsigned long *arg4 = (unsigned long *) 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
+    PyObject * obj3  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOOO:Property_get",&obj0,&obj1,&obj2,&obj3)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg3 = (Atom) PyInt_AsLong(obj2);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)otk::Property::get(arg1,arg2,arg3,arg4);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_get__SWIG_2(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    int arg3 ;
+    otk::ustring *arg4 = (otk::ustring *) 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj3  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOiO:Property_get",&obj0,&obj1,&arg3,&obj3)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_otk__ustring,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)otk::Property::get(arg1,arg2,(otk::Property::StringType )arg3,arg4);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_get__SWIG_3(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    int arg3 ;
+    unsigned long *arg4 = (unsigned long *) 0 ;
+    otk::Property::StringVect *arg5 = (otk::Property::StringVect *) 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj3  = 0 ;
+    PyObject * obj4  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOiOO:Property_get",&obj0,&obj1,&arg3,&obj3,&obj4)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj3,(void **) &arg4, SWIGTYPE_p_unsigned_long,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj4,(void **) &arg5, SWIGTYPE_p_otk__Property__StringVect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)otk::Property::get(arg1,arg2,(otk::Property::StringType )arg3,arg4,arg5);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_get(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        void *ptr;
+                        if (SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        }else {
+                            _v = 1;
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_Property_get__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        void *ptr;
+                        if (SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_otk__ustring, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        }else {
+                            _v = 1;
+                        }
+                    }
+                    if (_v) {
+                        return _wrap_Property_get__SWIG_2(self,args);
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        void *ptr;
+                        if (SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        }else {
+                            _v = 1;
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr;
+                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_p_unsigned_long, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            }else {
+                                _v = 1;
+                            }
+                        }
+                        if (_v) {
+                            return _wrap_Property_get__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        void *ptr;
+                        if (SWIG_ConvertPtr(argv[3], (void **) &ptr, SWIGTYPE_p_unsigned_long, 0) == -1) {
+                            _v = 0;
+                            PyErr_Clear();
+                        }else {
+                            _v = 1;
+                        }
+                    }
+                    if (_v) {
+                        {
+                            void *ptr;
+                            if (SWIG_ConvertPtr(argv[4], (void **) &ptr, SWIGTYPE_p_otk__Property__StringVect, 0) == -1) {
+                                _v = 0;
+                                PyErr_Clear();
+                            }else {
+                                _v = 1;
+                            }
+                        }
+                        if (_v) {
+                            return _wrap_Property_get__SWIG_3(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Property_get'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Property_erase(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    Window arg1 ;
+    Atom arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Property_erase",&obj0,&obj1)) goto fail;
+    arg1 = (Window) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    otk::Property::erase(arg1,arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * Property_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_otk__Property, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Rect__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_Rect")) goto fail;
+    result = (otk::Rect *)new otk::Rect();
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Rect__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    int arg1 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    otk::Rect *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)"iiii:new_Rect",&arg1,&arg2,&arg3,&arg4)) goto fail;
+    result = (otk::Rect *)new otk::Rect(arg1,arg2,arg3,arg4);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Rect__SWIG_2(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Point *arg1 = 0 ;
+    otk::Point *arg2 = 0 ;
+    otk::Rect *result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_Rect",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg1 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (otk::Rect *)new otk::Rect((otk::Point const &)*arg1,(otk::Point const &)*arg2);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Rect__SWIG_3(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = 0 ;
+    otk::Rect *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Rect",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg1 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (otk::Rect *)new otk::Rect((otk::Rect const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Rect__SWIG_4(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    XRectangle *arg1 = 0 ;
+    otk::Rect *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_Rect",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_XRectangle,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg1 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (otk::Rect *)new otk::Rect((XRectangle const &)*arg1);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_new_Rect(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[5];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 0) {
+        return _wrap_new_Rect__SWIG_0(self,args);
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_Rect__SWIG_3(self,args);
+        }
+    }
+    if (argc == 1) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_XRectangle, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            return _wrap_new_Rect__SWIG_4(self,args);
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                }else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_new_Rect__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 4) {
+        int _v;
+        {
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
+                    }
+                    if (_v) {
+                        return _wrap_new_Rect__SWIG_1(self,args);
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'new_Rect'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_left(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_left",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->left();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_top(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_top",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->top();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_right(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_right",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->right();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_bottom(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_bottom",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->bottom();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_x(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_x",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->x();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_y(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_y",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->y();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_location(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Point result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_location",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = ((otk::Rect const *)arg1)->location();
+    
+    {
+        otk::Point * resultptr;
+        resultptr = new otk::Point((otk::Point &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Point, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setX(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setX",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setX(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setY(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setY",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setY(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setPos__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oii:Rect_setPos",&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setPos(arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setPos__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Point *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_setPos",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->setPos((otk::Point const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setPos(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                }else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Rect_setPos__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    return _wrap_Rect_setPos__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setPos'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_width(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_width",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->width();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_height(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_height",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::Rect const *)arg1)->height();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_size(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Point result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_size",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = ((otk::Rect const *)arg1)->size();
+    
+    {
+        otk::Point * resultptr;
+        resultptr = new otk::Point((otk::Point &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Point, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setWidth(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setWidth",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setWidth(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setHeight(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Rect_setHeight",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setHeight(arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setSize__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oii:Rect_setSize",&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setSize(arg2,arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setSize__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Point *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_setSize",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->setSize((otk::Point const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setSize(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                }else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Rect_setSize__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    return _wrap_Rect_setSize__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setSize'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setRect__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    int arg5 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oiiii:Rect_setRect",&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setRect(arg2,arg3,arg4,arg5);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setRect__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Point *arg2 = 0 ;
+    otk::Point *arg3 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Rect_setRect",&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->setRect((otk::Point const &)*arg2,(otk::Point const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setRect(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                }else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr;
+                    if (SWIG_ConvertPtr(argv[2], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    }else {
+                        _v = 1;
+                    }
+                }
+                if (_v) {
+                    return _wrap_Rect_setRect__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
+                    }
+                    if (_v) {
+                        {
+                            _v = (PyInt_Check(argv[4]) || PyLong_Check(argv[4])) ? 1 : 0;
+                        }
+                        if (_v) {
+                            return _wrap_Rect_setRect__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setRect'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setCoords__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    int arg5 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oiiii:Rect_setCoords",&obj0,&arg2,&arg3,&arg4,&arg5)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setCoords(arg2,arg3,arg4,arg5);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setCoords__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Point *arg2 = 0 ;
+    otk::Point *arg3 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Rect_setCoords",&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->setCoords((otk::Point const &)*arg2,(otk::Point const &)*arg3);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_setCoords(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[6];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 5); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                }else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                {
+                    void *ptr;
+                    if (SWIG_ConvertPtr(argv[2], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                        _v = 0;
+                        PyErr_Clear();
+                    }else {
+                        _v = 1;
+                    }
+                }
+                if (_v) {
+                    return _wrap_Rect_setCoords__SWIG_1(self,args);
+                }
+            }
+        }
+    }
+    if (argc == 5) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    {
+                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
+                    }
+                    if (_v) {
+                        {
+                            _v = (PyInt_Check(argv[4]) || PyLong_Check(argv[4])) ? 1 : 0;
+                        }
+                        if (_v) {
+                            return _wrap_Rect_setCoords__SWIG_0(self,args);
+                        }
+                    }
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_setCoords'");
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect___eq__(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___eq__",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (bool)(arg1)->operator ==((otk::Rect const &)*arg2);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect___ne__(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___ne__",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (bool)(arg1)->operator !=((otk::Rect const &)*arg2);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect___or__(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    otk::Rect result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___or__",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = ((otk::Rect const *)arg1)->operator |((otk::Rect const &)*arg2);
+    
+    {
+        otk::Rect * resultptr;
+        resultptr = new otk::Rect((otk::Rect &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Rect, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect___and__(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    otk::Rect result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___and__",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = ((otk::Rect const *)arg1)->operator &((otk::Rect const &)*arg2);
+    
+    {
+        otk::Rect * resultptr;
+        resultptr = new otk::Rect((otk::Rect &) result);
+        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Rect, 1);
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect___ior__(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    otk::Rect *result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___ior__",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        otk::Rect &_result_ref = (arg1)->operator |=((otk::Rect const &)*arg2);
+        result = (otk::Rect *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect___iand__(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    otk::Rect *result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___iand__",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    {
+        otk::Rect &_result_ref = (arg1)->operator &=((otk::Rect const &)*arg2);
+        result = (otk::Rect *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_valid(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Rect_valid",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((otk::Rect const *)arg1)->valid();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_intersects(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_intersects",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (bool)((otk::Rect const *)arg1)->intersects((otk::Rect const &)*arg2);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_contains__SWIG_0(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    int arg2 ;
+    int arg3 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oii:Rect_contains",&obj0,&arg2,&arg3)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((otk::Rect const *)arg1)->contains(arg2,arg3);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_contains__SWIG_1(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Point *arg2 = 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_contains",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (bool)((otk::Rect const *)arg1)->contains((otk::Point const &)*arg2);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_contains__SWIG_2(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Rect *arg1 = (otk::Rect *) 0 ;
+    otk::Rect *arg2 = 0 ;
+    bool result;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_contains",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    result = (bool)((otk::Rect const *)arg1)->contains((otk::Rect const &)*arg2);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Rect_contains(PyObject *self, PyObject *args) {
+    int argc;
+    PyObject *argv[4];
+    int ii;
+    
+    argc = PyObject_Length(args);
+    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+        argv[ii] = PyTuple_GetItem(args,ii);
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                }else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Rect_contains__SWIG_1(self,args);
+            }
+        }
+    }
+    if (argc == 2) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                void *ptr;
+                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                    _v = 0;
+                    PyErr_Clear();
+                }else {
+                    _v = 1;
+                }
+            }
+            if (_v) {
+                return _wrap_Rect_contains__SWIG_2(self,args);
+            }
+        }
+    }
+    if (argc == 3) {
+        int _v;
+        {
+            void *ptr;
+            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
+                _v = 0;
+                PyErr_Clear();
+            }else {
+                _v = 1;
+            }
+        }
+        if (_v) {
+            {
+                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
+            }
+            if (_v) {
+                {
+                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
+                }
+                if (_v) {
+                    return _wrap_Rect_contains__SWIG_0(self,args);
+                }
+            }
+        }
+    }
+    
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_contains'");
+    return NULL;
+}
+
+
+static PyObject * Rect_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_otk__Rect, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_ScreenInfo(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    unsigned int arg1 ;
+    otk::ScreenInfo *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:new_ScreenInfo",&obj0)) goto fail;
+    arg1 = (unsigned int) PyInt_AsLong(obj0);
+    if (PyErr_Occurred()) SWIG_fail;
+    result = (otk::ScreenInfo *)new otk::ScreenInfo(arg1);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__ScreenInfo, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_visual(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    Visual *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_visual",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Visual *)((otk::ScreenInfo const *)arg1)->visual();
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_Visual, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_rootWindow(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    Window result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_rootWindow",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((otk::ScreenInfo const *)arg1)->rootWindow();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_colormap(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    Colormap result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_colormap",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Colormap)((otk::ScreenInfo const *)arg1)->colormap();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_depth(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_depth",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((otk::ScreenInfo const *)arg1)->depth();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_screen(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    unsigned int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_screen",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned int)((otk::ScreenInfo const *)arg1)->screen();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_rect(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    otk::Rect *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_rect",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        otk::Rect const &_result_ref = ((otk::ScreenInfo const *)arg1)->rect();
+        result = (otk::Rect *) &_result_ref;
+    }
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_width(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    unsigned int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_width",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned int)((otk::ScreenInfo const *)arg1)->width();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_height(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    unsigned int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_height",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned int)((otk::ScreenInfo const *)arg1)->height();
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_ScreenInfo_displayString(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
+    std::string *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_displayString",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        std::string const &_result_ref = ((otk::ScreenInfo const *)arg1)->displayString();
+        result = (std::string *) &_result_ref;
+    }
+    
+    {
+        resultobj = PyString_FromString(result->c_str());
+    }
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject * ScreenInfo_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_otk__ScreenInfo, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Strut_top_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int arg2 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_top_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->top = arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Strut_top_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:Strut_top_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned int) ((arg1)->top);
+    
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect___and__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Strut_bottom_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    otk::Rect result;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___and__",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = ((otk::Rect const *)arg1)->operator &((otk::Rect const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_bottom_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->bottom = arg2;
     
-    {
-        otk::Rect * resultptr;
-        resultptr = new otk::Rect((otk::Rect &) result);
-        resultobj = SWIG_NewPointerObj((void *) resultptr, SWIGTYPE_p_otk__Rect, 1);
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect___ior__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Strut_bottom_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    otk::Rect *result;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___ior__",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    {
-        otk::Rect &_result_ref = (arg1)->operator |=((otk::Rect const &)*arg2);
-        result = (otk::Rect *) &_result_ref;
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Strut_bottom_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned int) ((arg1)->bottom);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect___iand__(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Strut_left_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    otk::Rect *result;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect___iand__",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    {
-        otk::Rect &_result_ref = (arg1)->operator &=((otk::Rect const &)*arg2);
-        result = (otk::Rect *) &_result_ref;
-    }
+    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_left_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->left = arg2;
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_valid(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Strut_left_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    bool result;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Rect_valid",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((otk::Rect const *)arg1)->valid();
+    if(!PyArg_ParseTuple(args,(char *)"O:Strut_left_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned int) ((arg1)->left);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -3253,40 +6598,35 @@ static PyObject *_wrap_Rect_valid(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_intersects(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Strut_right_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    bool result;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_intersects",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (bool)((otk::Rect const *)arg1)->intersects((otk::Rect const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_right_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned int) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->right = arg2;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_contains__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Strut_right_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    bool result;
+    otk::Strut *arg1 = (otk::Strut *) 0 ;
+    unsigned int result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oii:Rect_contains",&obj0,&arg2,&arg3)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((otk::Rect const *)arg1)->contains(arg2,arg3);
+    if(!PyArg_ParseTuple(args,(char *)"O:Strut_right_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned int) ((arg1)->right);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -3295,123 +6635,54 @@ static PyObject *_wrap_Rect_contains__SWIG_0(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Rect_contains__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_Strut__SWIG_0(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Point *arg2 = 0 ;
-    bool result;
-    PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
+    otk::Strut *result;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_contains",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Point,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (bool)((otk::Rect const *)arg1)->contains((otk::Point const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)":new_Strut")) goto fail;
+    result = (otk::Strut *)new otk::Strut();
     
-    resultobj = PyInt_FromLong((long)result);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Strut, 1);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_contains__SWIG_2(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_Strut__SWIG_1(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Rect *arg1 = (otk::Rect *) 0 ;
-    otk::Rect *arg2 = 0 ;
-    bool result;
-    PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
+    int arg1 ;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
+    otk::Strut *result;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Rect_contains",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__Rect,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    result = (bool)((otk::Rect const *)arg1)->contains((otk::Rect const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"iiii:new_Strut",&arg1,&arg2,&arg3,&arg4)) goto fail;
+    result = (otk::Strut *)new otk::Strut(arg1,arg2,arg3,arg4);
     
-    resultobj = PyInt_FromLong((long)result);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Strut, 1);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Rect_contains(PyObject *self, PyObject *args) {
+static PyObject *_wrap_new_Strut(PyObject *self, PyObject *args) {
     int argc;
-    PyObject *argv[4];
+    PyObject *argv[5];
     int ii;
     
     argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 3); ii++) {
+    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
         argv[ii] = PyTuple_GetItem(args,ii);
     }
-    if (argc == 2) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                void *ptr;
-                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Point, 0) == -1) {
-                    _v = 0;
-                    PyErr_Clear();
-                }else {
-                    _v = 1;
-                }
-            }
-            if (_v) {
-                return _wrap_Rect_contains__SWIG_1(self,args);
-            }
-        }
-    }
-    if (argc == 2) {
-        int _v;
-        {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
-        }
-        if (_v) {
-            {
-                void *ptr;
-                if (SWIG_ConvertPtr(argv[1], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                    _v = 0;
-                    PyErr_Clear();
-                }else {
-                    _v = 1;
-                }
-            }
-            if (_v) {
-                return _wrap_Rect_contains__SWIG_2(self,args);
-            }
-        }
+    if (argc == 0) {
+        return _wrap_new_Strut__SWIG_0(self,args);
     }
-    if (argc == 3) {
+    if (argc == 4) {
         int _v;
         {
-            void *ptr;
-            if (SWIG_ConvertPtr(argv[0], (void **) &ptr, SWIGTYPE_p_otk__Rect, 0) == -1) {
-                _v = 0;
-                PyErr_Clear();
-            }else {
-                _v = 1;
-            }
+            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
         }
         if (_v) {
             {
@@ -3422,222 +6693,329 @@ static PyObject *_wrap_Rect_contains(PyObject *self, PyObject *args) {
                     _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
                 }
                 if (_v) {
-                    return _wrap_Rect_contains__SWIG_0(self,args);
+                    {
+                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
+                    }
+                    if (_v) {
+                        return _wrap_new_Strut__SWIG_1(self,args);
+                    }
                 }
             }
         }
     }
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'Rect_contains'");
+    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'new_Strut'");
+    return NULL;
+}
+
+
+static PyObject * Strut_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_otk__Strut, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_EventHandler_handle(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XEvent *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_handle",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->handle((XEvent const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject * Rect_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_otk__Rect, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_new_ScreenInfo(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_keyPressHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    unsigned int arg1 ;
-    otk::ScreenInfo *result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XKeyEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:new_ScreenInfo",&obj0)) goto fail;
-    arg1 = (unsigned int) PyInt_AsLong(obj0);
-    if (PyErr_Occurred()) SWIG_fail;
-    result = (otk::ScreenInfo *)new otk::ScreenInfo(arg1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_keyPressHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XKeyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->keyPressHandler((XKeyEvent const &)*arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__ScreenInfo, 1);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_visual(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_keyReleaseHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    Visual *result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XKeyEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_visual",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Visual *)((otk::ScreenInfo const *)arg1)->visual();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_keyReleaseHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XKeyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->keyReleaseHandler((XKeyEvent const &)*arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_Visual, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_rootWindow(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_buttonPressHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    Window result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XButtonEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_rootWindow",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Window)((otk::ScreenInfo const *)arg1)->rootWindow();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_buttonPressHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XButtonEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->buttonPressHandler((XButtonEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_colormap(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_buttonReleaseHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    Colormap result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XButtonEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_colormap",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Colormap)((otk::ScreenInfo const *)arg1)->colormap();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_buttonReleaseHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XButtonEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->buttonReleaseHandler((XButtonEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_depth(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_motionHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XMotionEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_depth",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((otk::ScreenInfo const *)arg1)->depth();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_motionHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMotionEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->motionHandler((XMotionEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_screen(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_enterHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    unsigned int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XCrossingEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_screen",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned int)((otk::ScreenInfo const *)arg1)->screen();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_enterHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCrossingEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->enterHandler((XCrossingEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_rect(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_leaveHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    otk::Rect *result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XCrossingEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_rect",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        otk::Rect const &_result_ref = ((otk::ScreenInfo const *)arg1)->rect();
-        result = (otk::Rect *) &_result_ref;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_leaveHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCrossingEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->leaveHandler((XCrossingEvent const &)*arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_width(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_focusHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    unsigned int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XFocusChangeEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_width",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned int)((otk::ScreenInfo const *)arg1)->width();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_focusHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->focusHandler((XFocusChangeEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_height(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_unfocusHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    unsigned int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XFocusChangeEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_height",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned int)((otk::ScreenInfo const *)arg1)->height();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_unfocusHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->unfocusHandler((XFocusChangeEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_ScreenInfo_displayString(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_exposeHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::ScreenInfo *arg1 = (otk::ScreenInfo *) 0 ;
-    std::string *result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XExposeEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:ScreenInfo_displayString",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__ScreenInfo,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        std::string const &_result_ref = ((otk::ScreenInfo const *)arg1)->displayString();
-        result = (std::string *) &_result_ref;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_exposeHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XExposeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->exposeHandler((XExposeEvent const &)*arg2);
     
-    {
-        resultobj = PyString_FromString(result->c_str());
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EventHandler_graphicsExposeHandler(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XGraphicsExposeEvent *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_graphicsExposeHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XGraphicsExposeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->graphicsExposeHandler((XGraphicsExposeEvent const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject * ScreenInfo_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_otk__ScreenInfo, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
+static PyObject *_wrap_EventHandler_noExposeEventHandler(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XNoExposeEvent *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_noExposeEventHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XNoExposeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->noExposeEventHandler((XNoExposeEvent const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
 }
-static PyObject *_wrap_Strut_top_set(PyObject *self, PyObject *args) {
+
+
+static PyObject *_wrap_EventHandler_circulateRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int arg2 ;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XCirculateRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_top_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (unsigned int) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->top = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_circulateRequestHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCirculateRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->circulateRequestHandler((XCirculateRequestEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3646,35 +7024,42 @@ static PyObject *_wrap_Strut_top_set(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Strut_top_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_configureRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XConfigureRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Strut_top_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned int) ((arg1)->top);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_configureRequestHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XConfigureRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->configureRequestHandler((XConfigureRequestEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Strut_bottom_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_mapRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int arg2 ;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XMapRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_bottom_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (unsigned int) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->bottom = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_mapRequestHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMapRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->mapRequestHandler((XMapRequestEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3683,35 +7068,42 @@ static PyObject *_wrap_Strut_bottom_set(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Strut_bottom_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_resizeRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XResizeRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Strut_bottom_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned int) ((arg1)->bottom);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_resizeRequestHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XResizeRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->resizeRequestHandler((XResizeRequestEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Strut_left_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_circulateHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int arg2 ;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XCirculateEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_left_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (unsigned int) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->left = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_circulateHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCirculateEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->circulateHandler((XCirculateEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3720,35 +7112,42 @@ static PyObject *_wrap_Strut_left_set(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Strut_left_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_configureHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XConfigureEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Strut_left_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned int) ((arg1)->left);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_configureHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XConfigureEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->configureHandler((XConfigureEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Strut_right_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_createHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int arg2 ;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XCreateWindowEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Strut_right_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (unsigned int) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->right = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_createHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCreateWindowEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->createHandler((XCreateWindowEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3757,118 +7156,108 @@ static PyObject *_wrap_Strut_right_set(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Strut_right_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_destroyHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *arg1 = (otk::Strut *) 0 ;
-    unsigned int result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XDestroyWindowEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Strut_right_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__Strut,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned int) ((arg1)->right);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_destroyHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XDestroyWindowEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->destroyHandler((XDestroyWindowEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Strut__SWIG_0(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_gravityHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::Strut *result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XGravityEvent *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)":new_Strut")) goto fail;
-    result = (otk::Strut *)new otk::Strut();
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_gravityHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XGravityEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->gravityHandler((XGravityEvent const &)*arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Strut, 1);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Strut__SWIG_1(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_mapHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    int arg1 ;
-    int arg2 ;
-    int arg3 ;
-    int arg4 ;
-    otk::Strut *result;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XMapEvent *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"iiii:new_Strut",&arg1,&arg2,&arg3,&arg4)) goto fail;
-    result = (otk::Strut *)new otk::Strut(arg1,arg2,arg3,arg4);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_mapHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->mapHandler((XMapEvent const &)*arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Strut, 1);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_new_Strut(PyObject *self, PyObject *args) {
-    int argc;
-    PyObject *argv[5];
-    int ii;
+static PyObject *_wrap_EventHandler_mappingHandler(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    XMappingEvent *arg2 = 0 ;
+    PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    argc = PyObject_Length(args);
-    for (ii = 0; (ii < argc) && (ii < 4); ii++) {
-        argv[ii] = PyTuple_GetItem(args,ii);
-    }
-    if (argc == 0) {
-        return _wrap_new_Strut__SWIG_0(self,args);
-    }
-    if (argc == 4) {
-        int _v;
-        {
-            _v = (PyInt_Check(argv[0]) || PyLong_Check(argv[0])) ? 1 : 0;
-        }
-        if (_v) {
-            {
-                _v = (PyInt_Check(argv[1]) || PyLong_Check(argv[1])) ? 1 : 0;
-            }
-            if (_v) {
-                {
-                    _v = (PyInt_Check(argv[2]) || PyLong_Check(argv[2])) ? 1 : 0;
-                }
-                if (_v) {
-                    {
-                        _v = (PyInt_Check(argv[3]) || PyLong_Check(argv[3])) ? 1 : 0;
-                    }
-                    if (_v) {
-                        return _wrap_new_Strut__SWIG_1(self,args);
-                    }
-                }
-            }
-        }
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_mappingHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMappingEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->mappingHandler((XMappingEvent const &)*arg2);
     
-    PyErr_SetString(PyExc_TypeError,"No matching function for overloaded 'new_Strut'");
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
     return NULL;
 }
 
 
-static PyObject * Strut_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_otk__Strut, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_EventHandler_handle(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_reparentHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XEvent *arg2 = 0 ;
+    XReparentEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_handle",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_reparentHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XReparentEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->handle((XEvent const &)*arg2);
+    (arg1)->reparentHandler((XReparentEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3877,20 +7266,20 @@ static PyObject *_wrap_EventHandler_handle(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_EventHandler_keyPressHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_unmapHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XKeyEvent *arg2 = 0 ;
+    XUnmapEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_keyPressHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_unmapHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XKeyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XUnmapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->keyPressHandler((XKeyEvent const &)*arg2);
+    (arg1)->unmapHandler((XUnmapEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3899,20 +7288,20 @@ static PyObject *_wrap_EventHandler_keyPressHandler(PyObject *self, PyObject *ar
 }
 
 
-static PyObject *_wrap_EventHandler_keyReleaseHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_visibilityHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XKeyEvent *arg2 = 0 ;
+    XVisibilityEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_keyReleaseHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_visibilityHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XKeyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XVisibilityEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->keyReleaseHandler((XKeyEvent const &)*arg2);
+    (arg1)->visibilityHandler((XVisibilityEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3921,20 +7310,20 @@ static PyObject *_wrap_EventHandler_keyReleaseHandler(PyObject *self, PyObject *
 }
 
 
-static PyObject *_wrap_EventHandler_buttonPressHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_colorMapHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XButtonEvent *arg2 = 0 ;
+    XColormapEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_buttonPressHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_colorMapHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XButtonEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XColormapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->buttonPressHandler((XButtonEvent const &)*arg2);
+    (arg1)->colorMapHandler((XColormapEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3943,20 +7332,20 @@ static PyObject *_wrap_EventHandler_buttonPressHandler(PyObject *self, PyObject
 }
 
 
-static PyObject *_wrap_EventHandler_buttonReleaseHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_propertyHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XButtonEvent *arg2 = 0 ;
+    XPropertyEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_buttonReleaseHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_propertyHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XButtonEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XPropertyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->buttonReleaseHandler((XButtonEvent const &)*arg2);
+    (arg1)->propertyHandler((XPropertyEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3965,20 +7354,20 @@ static PyObject *_wrap_EventHandler_buttonReleaseHandler(PyObject *self, PyObjec
 }
 
 
-static PyObject *_wrap_EventHandler_motionHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_selectionClearHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XMotionEvent *arg2 = 0 ;
+    XSelectionClearEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_motionHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_selectionClearHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMotionEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XSelectionClearEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->motionHandler((XMotionEvent const &)*arg2);
+    (arg1)->selectionClearHandler((XSelectionClearEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -3987,20 +7376,20 @@ static PyObject *_wrap_EventHandler_motionHandler(PyObject *self, PyObject *args
 }
 
 
-static PyObject *_wrap_EventHandler_enterHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_selectionHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XCrossingEvent *arg2 = 0 ;
+    XSelectionEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_enterHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_selectionHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCrossingEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XSelectionEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->enterHandler((XCrossingEvent const &)*arg2);
+    (arg1)->selectionHandler((XSelectionEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4009,20 +7398,20 @@ static PyObject *_wrap_EventHandler_enterHandler(PyObject *self, PyObject *args)
 }
 
 
-static PyObject *_wrap_EventHandler_leaveHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_selectionRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XCrossingEvent *arg2 = 0 ;
+    XSelectionRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_leaveHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_selectionRequestHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCrossingEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XSelectionRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->leaveHandler((XCrossingEvent const &)*arg2);
+    (arg1)->selectionRequestHandler((XSelectionRequestEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4031,20 +7420,20 @@ static PyObject *_wrap_EventHandler_leaveHandler(PyObject *self, PyObject *args)
 }
 
 
-static PyObject *_wrap_EventHandler_focusHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventHandler_clientMessageHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XFocusChangeEvent *arg2 = 0 ;
+    XClientMessageEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_focusHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_clientMessageHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XClientMessageEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     if (arg2 == NULL) {
         PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
-    (arg1)->focusHandler((XFocusChangeEvent const &)*arg2);
+    (arg1)->clientMessageHandler((XClientMessageEvent const &)*arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4053,20 +7442,14 @@ static PyObject *_wrap_EventHandler_focusHandler(PyObject *self, PyObject *args)
 }
 
 
-static PyObject *_wrap_EventHandler_unfocusHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_EventHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XFocusChangeEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_unfocusHandler",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_EventHandler",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->unfocusHandler((XFocusChangeEvent const &)*arg2);
+    delete arg1;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4075,20 +7458,35 @@ static PyObject *_wrap_EventHandler_unfocusHandler(PyObject *self, PyObject *arg
 }
 
 
-static PyObject *_wrap_EventHandler_exposeHandler(PyObject *self, PyObject *args) {
+static PyObject * EventHandler_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_otk__EventHandler, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_EventDispatcher(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XExposeEvent *arg2 = 0 ;
+    otk::EventDispatcher *result;
+    
+    if(!PyArg_ParseTuple(args,(char *)":new_EventDispatcher")) goto fail;
+    result = (otk::EventDispatcher *)new otk::EventDispatcher();
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventDispatcher, 1);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_delete_EventDispatcher(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_exposeHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XExposeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->exposeHandler((XExposeEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_EventDispatcher",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    delete arg1;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4097,20 +7495,14 @@ static PyObject *_wrap_EventHandler_exposeHandler(PyObject *self, PyObject *args
 }
 
 
-static PyObject *_wrap_EventHandler_graphicsExposeHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_clearAllHandlers(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XGraphicsExposeEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_graphicsExposeHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XGraphicsExposeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->graphicsExposeHandler((XGraphicsExposeEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_clearAllHandlers",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->clearAllHandlers();
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4119,20 +7511,21 @@ static PyObject *_wrap_EventHandler_graphicsExposeHandler(PyObject *self, PyObje
 }
 
 
-static PyObject *_wrap_EventHandler_noExposeEventHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_registerHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XNoExposeEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    Window arg2 ;
+    otk::EventHandler *arg3 = (otk::EventHandler *) 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_noExposeEventHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XNoExposeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->noExposeEventHandler((XNoExposeEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OOO:EventDispatcher_registerHandler",&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Window) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->registerHandler(arg2,arg3);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4141,20 +7534,18 @@ static PyObject *_wrap_EventHandler_noExposeEventHandler(PyObject *self, PyObjec
 }
 
 
-static PyObject *_wrap_EventHandler_circulateRequestHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_clearHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XCirculateRequestEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    Window arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_circulateRequestHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCirculateRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->circulateRequestHandler((XCirculateRequestEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_clearHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Window) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    (arg1)->clearHandler(arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4163,20 +7554,33 @@ static PyObject *_wrap_EventHandler_circulateRequestHandler(PyObject *self, PyOb
 }
 
 
-static PyObject *_wrap_EventHandler_configureRequestHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_dispatchEvents(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XConfigureRequestEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_dispatchEvents",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->dispatchEvents();
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EventDispatcher_setFallbackHandler(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    otk::EventHandler *arg2 = (otk::EventHandler *) 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_configureRequestHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XConfigureRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->configureRequestHandler((XConfigureRequestEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_setFallbackHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setFallbackHandler(arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4185,20 +7589,34 @@ static PyObject *_wrap_EventHandler_configureRequestHandler(PyObject *self, PyOb
 }
 
 
-static PyObject *_wrap_EventHandler_mapRequestHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_getFallbackHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XMapRequestEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    otk::EventHandler *result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_getFallbackHandler",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (otk::EventHandler *)((otk::EventDispatcher const *)arg1)->getFallbackHandler();
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventHandler, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_EventDispatcher_setMasterHandler(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    otk::EventHandler *arg2 = (otk::EventHandler *) 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_mapRequestHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMapRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->mapRequestHandler((XMapRequestEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_setMasterHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setMasterHandler(arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4207,86 +7625,80 @@ static PyObject *_wrap_EventHandler_mapRequestHandler(PyObject *self, PyObject *
 }
 
 
-static PyObject *_wrap_EventHandler_resizeRequestHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_getMasterHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XResizeRequestEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    otk::EventHandler *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_resizeRequestHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XResizeRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->resizeRequestHandler((XResizeRequestEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_getMasterHandler",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (otk::EventHandler *)((otk::EventDispatcher const *)arg1)->getMasterHandler();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventHandler, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_circulateHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_findHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XCirculateEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    Window arg2 ;
+    otk::EventHandler *result;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_circulateHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCirculateEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->circulateHandler((XCirculateEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_findHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Window) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    result = (otk::EventHandler *)(arg1)->findHandler(arg2);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventHandler, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_configureHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_EventDispatcher_lastTime(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XConfigureEvent *arg2 = 0 ;
+    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    Time result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_configureHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XConfigureEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->configureHandler((XConfigureEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_lastTime",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Time)((otk::EventDispatcher const *)arg1)->lastTime();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_createHandler(PyObject *self, PyObject *args) {
+static PyObject * EventDispatcher_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_otk__EventDispatcher, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Cursors_session_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XCreateWindowEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_createHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XCreateWindowEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->createHandler((XCreateWindowEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_session_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Cursor) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->session = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4295,42 +7707,35 @@ static PyObject *_wrap_EventHandler_createHandler(PyObject *self, PyObject *args
 }
 
 
-static PyObject *_wrap_EventHandler_destroyHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_session_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XDestroyWindowEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_destroyHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XDestroyWindowEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->destroyHandler((XDestroyWindowEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_session_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Cursor) ((arg1)->session);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_gravityHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_move_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XGravityEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_gravityHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XGravityEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->gravityHandler((XGravityEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_move_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Cursor) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->move = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4339,42 +7744,35 @@ static PyObject *_wrap_EventHandler_gravityHandler(PyObject *self, PyObject *arg
 }
 
 
-static PyObject *_wrap_EventHandler_mapHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_move_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XMapEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_mapHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->mapHandler((XMapEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_move_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Cursor) ((arg1)->move);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_mappingHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_ll_angle_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XMappingEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_mappingHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMappingEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->mappingHandler((XMappingEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_ll_angle_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Cursor) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->ll_angle = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4383,42 +7781,35 @@ static PyObject *_wrap_EventHandler_mappingHandler(PyObject *self, PyObject *arg
 }
 
 
-static PyObject *_wrap_EventHandler_reparentHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_ll_angle_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XReparentEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_reparentHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XReparentEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->reparentHandler((XReparentEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_ll_angle_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Cursor) ((arg1)->ll_angle);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_unmapHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_lr_angle_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XUnmapEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_unmapHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XUnmapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->unmapHandler((XUnmapEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_lr_angle_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Cursor) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->lr_angle = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4427,42 +7818,35 @@ static PyObject *_wrap_EventHandler_unmapHandler(PyObject *self, PyObject *args)
 }
 
 
-static PyObject *_wrap_EventHandler_visibilityHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_lr_angle_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XVisibilityEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_visibilityHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XVisibilityEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->visibilityHandler((XVisibilityEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_lr_angle_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Cursor) ((arg1)->lr_angle);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_colorMapHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_ul_angle_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XColormapEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_colorMapHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XColormapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->colorMapHandler((XColormapEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_ul_angle_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Cursor) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->ul_angle = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4471,42 +7855,35 @@ static PyObject *_wrap_EventHandler_colorMapHandler(PyObject *self, PyObject *ar
 }
 
 
-static PyObject *_wrap_EventHandler_propertyHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_ul_angle_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XPropertyEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_propertyHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XPropertyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->propertyHandler((XPropertyEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_ul_angle_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Cursor) ((arg1)->ul_angle);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_selectionClearHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_ur_angle_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XSelectionClearEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_selectionClearHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XSelectionClearEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->selectionClearHandler((XSelectionClearEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_ur_angle_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Cursor) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->ur_angle = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4515,156 +7892,151 @@ static PyObject *_wrap_EventHandler_selectionClearHandler(PyObject *self, PyObje
 }
 
 
-static PyObject *_wrap_EventHandler_selectionHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Cursors_ur_angle_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XSelectionEvent *arg2 = 0 ;
+    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
+    Cursor result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_selectionHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XSelectionEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->selectionHandler((XSelectionEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_ur_angle_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Cursor) ((arg1)->ur_angle);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_selectionRequestHandler(PyObject *self, PyObject *args) {
+static PyObject * Cursors_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_ob__Cursors, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Openbox_state(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XSelectionRequestEvent *arg2 = 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    int result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_selectionRequestHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XSelectionRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->selectionRequestHandler((XSelectionRequestEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_state",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((ob::Openbox const *)arg1)->state();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventHandler_clientMessageHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_actions(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
-    XClientMessageEvent *arg2 = 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    ob::Actions *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventHandler_clientMessageHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XClientMessageEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->clientMessageHandler((XClientMessageEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_actions",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Actions *)((ob::Openbox const *)arg1)->actions();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Actions, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_delete_EventHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_bindings(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventHandler *arg1 = (otk::EventHandler *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    ob::Bindings *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:delete_EventHandler",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    delete arg1;
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_bindings",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Bindings *)((ob::Openbox const *)arg1)->bindings();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Bindings, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject * EventHandler_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_otk__EventHandler, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_new_EventDispatcher(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_screen(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *result;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    int arg2 ;
+    ob::Screen *result;
+    PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)":new_EventDispatcher")) goto fail;
-    result = (otk::EventDispatcher *)new otk::EventDispatcher();
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Openbox_screen",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Screen *)(arg1)->screen(arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventDispatcher, 1);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Screen, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_delete_EventDispatcher(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_screenCount(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    int result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:delete_EventDispatcher",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    delete arg1;
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_screenCount",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((ob::Openbox const *)arg1)->screenCount();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_clearAllHandlers(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_cursors(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    ob::Cursors *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_clearAllHandlers",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->clearAllHandlers();
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_cursors",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        ob::Cursors const &_result_ref = ((ob::Openbox const *)arg1)->cursors();
+        result = (ob::Cursors *) &_result_ref;
+    }
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Cursors, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_registerHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_addClient(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
     Window arg2 ;
-    otk::EventHandler *arg3 = (otk::EventHandler *) 0 ;
+    ob::Client *arg3 = (ob::Client *) 0 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOO:EventDispatcher_registerHandler",&obj0,&obj1,&obj2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Openbox_addClient",&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     arg2 = (Window) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->registerHandler(arg2,arg3);
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->addClient(arg2,arg3);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4673,18 +8045,18 @@ static PyObject *_wrap_EventDispatcher_registerHandler(PyObject *self, PyObject
 }
 
 
-static PyObject *_wrap_EventDispatcher_clearHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_removeClient(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
     Window arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_clearHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Openbox_removeClient",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     arg2 = (Window) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    (arg1)->clearHandler(arg2);
+    (arg1)->removeClient(arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -4693,168 +8065,188 @@ static PyObject *_wrap_EventDispatcher_clearHandler(PyObject *self, PyObject *ar
 }
 
 
-static PyObject *_wrap_EventDispatcher_dispatchEvents(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_findClient(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    Window arg2 ;
+    ob::Client *result;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_dispatchEvents",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->dispatchEvents();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Openbox_findClient",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Window) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    result = (ob::Client *)(arg1)->findClient(arg2);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_setFallbackHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_focusedClient(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
-    otk::EventHandler *arg2 = (otk::EventHandler *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    ob::Client *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_setFallbackHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setFallbackHandler(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_focusedClient",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Client *)(arg1)->focusedClient();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_getFallbackHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_setFocusedClient(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
-    otk::EventHandler *result;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    ob::Client *arg2 = (ob::Client *) 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_getFallbackHandler",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::EventHandler *)((otk::EventDispatcher const *)arg1)->getFallbackHandler();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Openbox_setFocusedClient",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setFocusedClient(arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventHandler, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_setMasterHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_focusedScreen(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
-    otk::EventHandler *arg2 = (otk::EventHandler *) 0 ;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    ob::Screen *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_setMasterHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__EventHandler,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setMasterHandler(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_focusedScreen",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Screen *)(arg1)->focusedScreen();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Screen, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_getMasterHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_shutdown(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
-    otk::EventHandler *result;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_getMasterHandler",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::EventHandler *)((otk::EventDispatcher const *)arg1)->getMasterHandler();
+    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_shutdown",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->shutdown();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventHandler, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_findHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_restart(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
-    Window arg2 ;
-    otk::EventHandler *result;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    std::string const &arg2_defvalue = "" ;
+    std::string *arg2 = (std::string *) &arg2_defvalue ;
+    std::string temp2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:EventDispatcher_findHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    result = (otk::EventHandler *)(arg1)->findHandler(arg2);
-    
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__EventHandler, 0);
+    if(!PyArg_ParseTuple(args,(char *)"O|O:Openbox_restart",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (obj1) {
+        {
+            if (PyString_Check(obj1)) {
+                temp2 = std::string(PyString_AsString(obj1));
+                arg2 = &temp2;
+            }else {
+                SWIG_exception(SWIG_TypeError, "string expected");
+            }
+        }
+    }
+    (arg1)->restart((std::string const &)*arg2);
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_EventDispatcher_lastTime(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Openbox_execute(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    otk::EventDispatcher *arg1 = (otk::EventDispatcher *) 0 ;
-    Time result;
+    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    int arg2 ;
+    std::string *arg3 = 0 ;
+    std::string temp3 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:EventDispatcher_lastTime",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_otk__EventDispatcher,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Time)((otk::EventDispatcher const *)arg1)->lastTime();
+    if(!PyArg_ParseTuple(args,(char *)"OiO:Openbox_execute",&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        if (PyString_Check(obj2)) {
+            temp3 = std::string(PyString_AsString(obj2));
+            arg3 = &temp3;
+        }else {
+            SWIG_exception(SWIG_TypeError, "string expected");
+        }
+    }
+    (arg1)->execute(arg2,(std::string const &)*arg3);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject * EventDispatcher_swigregister(PyObject *self, PyObject *args) {
+static PyObject * Openbox_swigregister(PyObject *self, PyObject *args) {
     PyObject *obj;
     if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_otk__EventDispatcher, obj);
+    SWIG_TypeClientData(SWIGTYPE_p_ob__Openbox, obj);
     Py_INCREF(obj);
     return Py_BuildValue((char *)"");
 }
-static PyObject *_wrap_Cursors_session_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_client(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor arg2 ;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    int arg2 ;
+    ob::Client *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_session_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Cursor) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->session = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Screen_client",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Client *)ob_Screen_client(arg1,arg2);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Cursors_session_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_clientCount(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    int result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_session_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Cursor) ((arg1)->session);
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_clientCount",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)ob_Screen_clientCount((ob::Screen const *)arg1);
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -4863,35 +8255,32 @@ static PyObject *_wrap_Cursors_session_get(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Cursors_move_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_number(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor arg2 ;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    int result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_move_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Cursor) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->move = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_number",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((ob::Screen const *)arg1)->number();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Cursors_move_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_managed(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_move_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Cursor) ((arg1)->move);
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_managed",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Screen const *)arg1)->managed();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -4900,72 +8289,69 @@ static PyObject *_wrap_Cursors_move_get(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Cursors_ll_angle_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_area(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor arg2 ;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    otk::Rect *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_ll_angle_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Cursor) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->ll_angle = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_area",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        otk::Rect const &_result_ref = ((ob::Screen const *)arg1)->area();
+        result = (otk::Rect *) &_result_ref;
+    }
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Cursors_ll_angle_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_style(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    otk::RenderStyle *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_ll_angle_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Cursor) ((arg1)->ll_angle);
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_style",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (otk::RenderStyle *)((ob::Screen const *)arg1)->style();
     
-    resultobj = PyInt_FromLong((long)result);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__RenderStyle, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Cursors_lr_angle_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_focuswindow(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor arg2 ;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_lr_angle_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Cursor) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->lr_angle = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_focuswindow",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Screen const *)arg1)->focuswindow();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Cursors_lr_angle_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_desktop(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    long result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_lr_angle_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Cursor) ((arg1)->lr_angle);
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_desktop",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (long)((ob::Screen const *)arg1)->desktop();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -4974,55 +8360,47 @@ static PyObject *_wrap_Cursors_lr_angle_get(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Cursors_ul_angle_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_numDesktops(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor arg2 ;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    long result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_ul_angle_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Cursor) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->ul_angle = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_numDesktops",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (long)((ob::Screen const *)arg1)->numDesktops();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Cursors_ul_angle_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_updateStrut(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_ul_angle_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Cursor) ((arg1)->ul_angle);
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_updateStrut",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->updateStrut();
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Cursors_ur_angle_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_manageExisting(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor arg2 ;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Cursors_ur_angle_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Cursor) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->ur_angle = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Screen_manageExisting",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->manageExisting();
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -5031,168 +8409,196 @@ static PyObject *_wrap_Cursors_ur_angle_set(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Cursors_ur_angle_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_manageWindow(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Cursors *arg1 = (ob::Cursors *) 0 ;
-    Cursor result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    Window arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Cursors_ur_angle_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Cursors,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Cursor) ((arg1)->ur_angle);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_manageWindow",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (Window) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    (arg1)->manageWindow(arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject * Cursors_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_ob__Cursors, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_Openbox_state(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_unmanageWindow(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    int result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    ob::Client *arg2 = (ob::Client *) 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_state",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((ob::Openbox const *)arg1)->state();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_unmanageWindow",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->unmanageWindow(arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_property(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_raiseWindow(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    otk::Property *result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    ob::Client *arg2 = (ob::Client *) 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_property",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::Property *)((ob::Openbox const *)arg1)->property();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_raiseWindow",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->raiseWindow(arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Property, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_actions(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_lowerWindow(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    ob::Actions *result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    ob::Client *arg2 = (ob::Client *) 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_actions",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Actions *)((ob::Openbox const *)arg1)->actions();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_lowerWindow",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->lowerWindow(arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Actions, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_bindings(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_setDesktopName(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    ob::Bindings *result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    long arg2 ;
+    otk::ustring *arg3 = 0 ;
+    otk::ustring temp3 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_bindings",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Bindings *)((ob::Openbox const *)arg1)->bindings();
+    if(!PyArg_ParseTuple(args,(char *)"OlO:Screen_setDesktopName",&obj0,&arg2,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        if (PyString_Check(obj2)) {
+            temp3 = otk::ustring(PyString_AsString(obj2));
+            arg3 = &temp3;
+        }else {
+            SWIG_exception(SWIG_TypeError, "ustring expected");
+        }
+    }
+    (arg1)->setDesktopName(arg2,(otk::ustring const &)*arg3);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Bindings, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_screen(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_propertyHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    int arg2 ;
-    ob::Screen *result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    XPropertyEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Openbox_screen",&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Screen *)(arg1)->screen(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_propertyHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XPropertyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->propertyHandler((XPropertyEvent const &)*arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Screen, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_screenCount(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_clientMessageHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    int result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    XClientMessageEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_screenCount",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((ob::Openbox const *)arg1)->screenCount();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_clientMessageHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XClientMessageEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->clientMessageHandler((XClientMessageEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_cursors(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Screen_mapRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    ob::Cursors *result;
+    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    XMapRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_cursors",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        ob::Cursors const &_result_ref = ((ob::Openbox const *)arg1)->cursors();
-        result = (ob::Cursors *) &_result_ref;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_mapRequestHandler",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMapRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->mapRequestHandler((XMapRequestEvent const &)*arg2);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Cursors, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_addClient(PyObject *self, PyObject *args) {
+static PyObject * Screen_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_ob__Screen, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_MwmHints_flags_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    Window arg2 ;
-    ob::Client *arg3 = (ob::Client *) 0 ;
+    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
+    unsigned long arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
-    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OOO:Openbox_addClient",&obj0,&obj1,&obj2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:MwmHints_flags_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned long) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->addClient(arg2,arg3);
+    if (arg1) (arg1)->flags = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -5201,75 +8607,72 @@ static PyObject *_wrap_Openbox_addClient(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Openbox_removeClient(PyObject *self, PyObject *args) {
+static PyObject *_wrap_MwmHints_flags_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    Window arg2 ;
+    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
+    unsigned long result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Openbox_removeClient",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    (arg1)->removeClient(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:MwmHints_flags_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned long) ((arg1)->flags);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_findClient(PyObject *self, PyObject *args) {
+static PyObject *_wrap_MwmHints_functions_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    Window arg2 ;
-    ob::Client *result;
+    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
+    unsigned long arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Openbox_findClient",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
+    if(!PyArg_ParseTuple(args,(char *)"OO:MwmHints_functions_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned long) PyInt_AsLong(obj1);
     if (PyErr_Occurred()) SWIG_fail;
-    result = (ob::Client *)(arg1)->findClient(arg2);
+    if (arg1) (arg1)->functions = arg2;
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_focusedClient(PyObject *self, PyObject *args) {
+static PyObject *_wrap_MwmHints_functions_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    ob::Client *result;
+    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
+    unsigned long result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_focusedClient",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Client *)(arg1)->focusedClient();
+    if(!PyArg_ParseTuple(args,(char *)"O:MwmHints_functions_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned long) ((arg1)->functions);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_setFocusedClient(PyObject *self, PyObject *args) {
+static PyObject *_wrap_MwmHints_decorations_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    ob::Client *arg2 = (ob::Client *) 0 ;
+    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
+    unsigned long arg2 ;
     PyObject * obj0  = 0 ;
     PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Openbox_setFocusedClient",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->setFocusedClient(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"OO:MwmHints_decorations_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    arg2 = (unsigned long) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    if (arg1) (arg1)->decorations = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -5278,31 +8681,41 @@ static PyObject *_wrap_Openbox_setFocusedClient(PyObject *self, PyObject *args)
 }
 
 
-static PyObject *_wrap_Openbox_focusedScreen(PyObject *self, PyObject *args) {
+static PyObject *_wrap_MwmHints_decorations_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    ob::Screen *result;
+    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
+    unsigned long result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_focusedScreen",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Screen *)(arg1)->focusedScreen();
+    if(!PyArg_ParseTuple(args,(char *)"O:MwmHints_decorations_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (unsigned long) ((arg1)->decorations);
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Screen, 0);
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Openbox_shutdown(PyObject *self, PyObject *args) {
+static PyObject * MwmHints_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_ob__MwmHints, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_Client_frame_set(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    ob::Frame *arg2 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Openbox_shutdown",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->shutdown();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_frame_set",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN )) == -1) SWIG_fail;
+    if (arg1) (arg1)->frame = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -5311,28 +8724,32 @@ static PyObject *_wrap_Openbox_shutdown(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Openbox_restart(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_frame_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    std::string const &arg2_defvalue = "" ;
-    std::string *arg2 = (std::string *) &arg2_defvalue ;
-    std::string temp2 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    ob::Frame *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O|O:Openbox_restart",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (obj1) {
-        {
-            if (PyString_Check(obj1)) {
-                temp2 = std::string(PyString_AsString(obj1));
-                arg2 = &temp2;
-            }else {
-                SWIG_exception(SWIG_TypeError, "string expected");
-            }
-        }
-    }
-    (arg1)->restart((std::string const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_frame_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Frame *) ((arg1)->frame);
+    
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Frame, 0);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_Client_ignore_unmaps_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    int arg2 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:Client_ignore_unmaps_set",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg1) (arg1)->ignore_unmaps = arg2;
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -5341,68 +8758,49 @@ static PyObject *_wrap_Openbox_restart(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Openbox_execute(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_ignore_unmaps_get(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Openbox *arg1 = (ob::Openbox *) 0 ;
-    int arg2 ;
-    std::string *arg3 = 0 ;
-    std::string temp3 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    int result;
     PyObject * obj0  = 0 ;
-    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OiO:Openbox_execute",&obj0,&arg2,&obj2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Openbox,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        if (PyString_Check(obj2)) {
-            temp3 = std::string(PyString_AsString(obj2));
-            arg3 = &temp3;
-        }else {
-            SWIG_exception(SWIG_TypeError, "string expected");
-        }
-    }
-    (arg1)->execute(arg2,(std::string const &)*arg3);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_ignore_unmaps_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int) ((arg1)->ignore_unmaps);
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject * Openbox_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_ob__Openbox, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_Screen_client(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_screen(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    int arg2 ;
-    ob::Client *result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    int result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Screen_client",&obj0,&arg2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Client *)ob_Screen_client(arg1,arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_screen",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((ob::Client const *)arg1)->screen();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_clientCount(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_window(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    int result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_clientCount",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)ob_Screen_clientCount((ob::Screen const *)arg1);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_window",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Client const *)arg1)->window();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -5411,15 +8809,15 @@ static PyObject *_wrap_Screen_clientCount(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Screen_number(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_type(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
     int result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_number",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((ob::Screen const *)arg1)->number();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_type",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((ob::Client const *)arg1)->type();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -5428,15 +8826,15 @@ static PyObject *_wrap_Screen_number(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Screen_managed(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_normal(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
     bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_managed",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Screen const *)arg1)->managed();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_normal",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->normal();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -5445,335 +8843,312 @@ static PyObject *_wrap_Screen_managed(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Screen_imageControl(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_desktop(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    otk::ImageControl *result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    long result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_imageControl",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::ImageControl *)(arg1)->imageControl();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_desktop",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (long)((ob::Client const *)arg1)->desktop();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__ImageControl, 0);
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_area(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_title(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    otk::Rect *result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    otk::ustring *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_area",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_title",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
     {
-        otk::Rect const &_result_ref = ((ob::Screen const *)arg1)->area();
-        result = (otk::Rect *) &_result_ref;
+        otk::ustring const &_result_ref = ((ob::Client const *)arg1)->title();
+        result = (otk::ustring *) &_result_ref;
     }
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    {
+        resultobj = PyString_FromString(result->c_str());
+    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_style(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_iconTitle(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    otk::Style *result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    otk::ustring *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_style",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (otk::Style *)((ob::Screen const *)arg1)->style();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_iconTitle",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        otk::ustring const &_result_ref = ((ob::Client const *)arg1)->iconTitle();
+        result = (otk::ustring *) &_result_ref;
+    }
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Style, 0);
+    {
+        resultobj = PyString_FromString(result->c_str());
+    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_focuswindow(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_appName(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    Window result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    std::string *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_focuswindow",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Window)((ob::Screen const *)arg1)->focuswindow();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_appName",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        std::string const &_result_ref = ((ob::Client const *)arg1)->appName();
+        result = (std::string *) &_result_ref;
+    }
     
-    resultobj = PyInt_FromLong((long)result);
+    {
+        resultobj = PyString_FromString(result->c_str());
+    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_desktop(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_appClass(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    long result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    std::string *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_desktop",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (long)((ob::Screen const *)arg1)->desktop();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_appClass",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        std::string const &_result_ref = ((ob::Client const *)arg1)->appClass();
+        result = (std::string *) &_result_ref;
+    }
     
-    resultobj = PyInt_FromLong((long)result);
+    {
+        resultobj = PyString_FromString(result->c_str());
+    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_numDesktops(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_role(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    long result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    std::string *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_numDesktops",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (long)((ob::Screen const *)arg1)->numDesktops();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_role",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        std::string const &_result_ref = ((ob::Client const *)arg1)->role();
+        result = (std::string *) &_result_ref;
+    }
     
-    resultobj = PyInt_FromLong((long)result);
+    {
+        resultobj = PyString_FromString(result->c_str());
+    }
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_updateStrut(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_canFocus(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_updateStrut",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->updateStrut();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_canFocus",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->canFocus();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_manageExisting(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_urgent(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Screen_manageExisting",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->manageExisting();
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_urgent",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->urgent();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_manageWindow(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_focusNotify(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    Window arg2 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_manageWindow",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (Window) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    (arg1)->manageWindow(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_focusNotify",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->focusNotify();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_unmanageWindow(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_shaped(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    ob::Client *arg2 = (ob::Client *) 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_unmanageWindow",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->unmanageWindow(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_shaped",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->shaped();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_restack(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_gravity(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    bool arg2 ;
-    ob::Client *arg3 = (ob::Client *) 0 ;
-    PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
-    PyObject * obj2  = 0 ;
-    
-    if(!PyArg_ParseTuple(args,(char *)"OOO:Screen_restack",&obj0,&obj1,&obj2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (bool) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->restack(arg2,arg3);
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_gravity",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int)((ob::Client const *)arg1)->gravity();
+    
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_setDesktopName(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_positionRequested(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    long arg2 ;
-    otk::ustring *arg3 = 0 ;
-    otk::ustring temp3 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
-    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OlO:Screen_setDesktopName",&obj0,&arg2,&obj2)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        if (PyString_Check(obj2)) {
-            temp3 = otk::ustring(PyString_AsString(obj2));
-            arg3 = &temp3;
-        }else {
-            SWIG_exception(SWIG_TypeError, "ustring expected");
-        }
-    }
-    (arg1)->setDesktopName(arg2,(otk::ustring const &)*arg3);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_positionRequested",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->positionRequested();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_propertyHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_decorations(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    XPropertyEvent *arg2 = 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    ob::Client::DecorationFlags result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_propertyHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XPropertyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->propertyHandler((XPropertyEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_decorations",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Client::DecorationFlags)((ob::Client const *)arg1)->decorations();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_clientMessageHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_funtions(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    XClientMessageEvent *arg2 = 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    ob::Client::FunctionFlags result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_clientMessageHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XClientMessageEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->clientMessageHandler((XClientMessageEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_funtions",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Client::FunctionFlags)((ob::Client const *)arg1)->funtions();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Screen_mapRequestHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_transientFor(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Screen *arg1 = (ob::Screen *) 0 ;
-    XMapRequestEvent *arg2 = 0 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    ob::Client *result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Screen_mapRequestHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Screen,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMapRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->mapRequestHandler((XMapRequestEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_transientFor",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Client *)((ob::Client const *)arg1)->transientFor();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject * Screen_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_ob__Screen, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_MwmHints_flags_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_modal(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
-    unsigned long arg2 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:MwmHints_flags_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (unsigned long) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->flags = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_modal",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->modal();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_MwmHints_flags_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_shaded(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
-    unsigned long result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:MwmHints_flags_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned long) ((arg1)->flags);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_shaded",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->shaded();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -5782,35 +9157,32 @@ static PyObject *_wrap_MwmHints_flags_get(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_MwmHints_functions_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_fullscreen(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
-    unsigned long arg2 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:MwmHints_functions_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (unsigned long) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->functions = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_fullscreen",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->fullscreen();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_MwmHints_functions_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_iconic(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
-    unsigned long result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:MwmHints_functions_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned long) ((arg1)->functions);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_iconic",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->iconic();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -5819,35 +9191,32 @@ static PyObject *_wrap_MwmHints_functions_get(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_MwmHints_decorations_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_maxVert(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
-    unsigned long arg2 ;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:MwmHints_decorations_set",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (unsigned long) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    if (arg1) (arg1)->decorations = arg2;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_maxVert",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->maxVert();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_MwmHints_decorations_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_maxHorz(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::MwmHints *arg1 = (ob::MwmHints *) 0 ;
-    unsigned long result;
+    ob::Client *arg1 = (ob::Client *) 0 ;
+    bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:MwmHints_decorations_get",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__MwmHints,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (unsigned long) ((arg1)->decorations);
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_maxHorz",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (bool)((ob::Client const *)arg1)->maxHorz();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -5856,58 +9225,51 @@ static PyObject *_wrap_MwmHints_decorations_get(PyObject *self, PyObject *args)
 }
 
 
-static PyObject * MwmHints_swigregister(PyObject *self, PyObject *args) {
-    PyObject *obj;
-    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_ob__MwmHints, obj);
-    Py_INCREF(obj);
-    return Py_BuildValue((char *)"");
-}
-static PyObject *_wrap_Client_frame_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_layer(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    ob::Frame *arg2 = (ob::Frame *) 0 ;
+    int result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_frame_set",&obj0,&obj1)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_layer",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | SWIG_POINTER_DISOWN )) == -1) SWIG_fail;
-    if (arg1) (arg1)->frame = arg2;
+    result = (int)((ob::Client const *)arg1)->layer();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_frame_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_applyStartupState(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    ob::Frame *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_frame_get",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_applyStartupState",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Frame *) ((arg1)->frame);
+    (arg1)->applyStartupState();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Frame, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_ignore_unmaps_set(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_toggleClientBorder(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    int arg2 ;
+    bool arg2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oi:Client_ignore_unmaps_set",&obj0,&arg2)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_toggleClientBorder",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg1) (arg1)->ignore_unmaps = arg2;
+    arg2 = (bool) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
+    (arg1)->toggleClientBorder(arg2);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -5916,83 +9278,92 @@ static PyObject *_wrap_Client_ignore_unmaps_set(PyObject *self, PyObject *args)
 }
 
 
-static PyObject *_wrap_Client_ignore_unmaps_get(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_area(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    int result;
+    otk::Rect *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_ignore_unmaps_get",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_area",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int) ((arg1)->ignore_unmaps);
+    {
+        otk::Rect const &_result_ref = ((ob::Client const *)arg1)->area();
+        result = (otk::Rect *) &_result_ref;
+    }
     
-    resultobj = PyInt_FromLong((long)result);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_screen(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_strut(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    int result;
+    otk::Strut *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_screen",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_strut",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((ob::Client const *)arg1)->screen();
+    {
+        otk::Strut const &_result_ref = ((ob::Client const *)arg1)->strut();
+        result = (otk::Strut *) &_result_ref;
+    }
     
-    resultobj = PyInt_FromLong((long)result);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Strut, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_window(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_move(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    Window result;
+    int arg2 ;
+    int arg3 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_window",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"Oii:Client_move",&obj0,&arg2,&arg3)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (Window)((ob::Client const *)arg1)->window();
+    (arg1)->move(arg2,arg3);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_type(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_resize(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    int result;
+    int arg2 ;
+    int arg3 ;
+    int arg4 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_type",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"Oiii:Client_resize",&obj0,&arg2,&arg3,&arg4)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((ob::Client const *)arg1)->type();
+    (arg1)->resize((ob::Client::Corner )arg2,arg3,arg4);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_normal(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_focus(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
     bool result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_normal",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_focus",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->normal();
+    result = (bool)((ob::Client const *)arg1)->focus();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -6001,400 +9372,433 @@ static PyObject *_wrap_Client_normal(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Client_desktop(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_unfocus(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    long result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_desktop",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"O:Client_unfocus",&obj0)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (long)((ob::Client const *)arg1)->desktop();
+    ((ob::Client const *)arg1)->unfocus();
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_title(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_focusHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    otk::ustring *result;
+    XFocusChangeEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_title",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_focusHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        otk::ustring const &_result_ref = ((ob::Client const *)arg1)->title();
-        result = (otk::ustring *) &_result_ref;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->focusHandler((XFocusChangeEvent const &)*arg2);
     
-    {
-        resultobj = PyString_FromString(result->c_str());
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_iconTitle(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_unfocusHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    otk::ustring *result;
+    XFocusChangeEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_iconTitle",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_unfocusHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        otk::ustring const &_result_ref = ((ob::Client const *)arg1)->iconTitle();
-        result = (otk::ustring *) &_result_ref;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->unfocusHandler((XFocusChangeEvent const &)*arg2);
     
-    {
-        resultobj = PyString_FromString(result->c_str());
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_appName(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_propertyHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    std::string *result;
+    XPropertyEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_appName",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_propertyHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        std::string const &_result_ref = ((ob::Client const *)arg1)->appName();
-        result = (std::string *) &_result_ref;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XPropertyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->propertyHandler((XPropertyEvent const &)*arg2);
     
-    {
-        resultobj = PyString_FromString(result->c_str());
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_appClass(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_clientMessageHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    std::string *result;
+    XClientMessageEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_appClass",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_clientMessageHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        std::string const &_result_ref = ((ob::Client const *)arg1)->appClass();
-        result = (std::string *) &_result_ref;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XClientMessageEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->clientMessageHandler((XClientMessageEvent const &)*arg2);
     
-    {
-        resultobj = PyString_FromString(result->c_str());
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_role(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_configureRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    std::string *result;
+    XConfigureRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_role",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_configureRequestHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        std::string const &_result_ref = ((ob::Client const *)arg1)->role();
-        result = (std::string *) &_result_ref;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XConfigureRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
     }
+    (arg1)->configureRequestHandler((XConfigureRequestEvent const &)*arg2);
     
-    {
-        resultobj = PyString_FromString(result->c_str());
-    }
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_canFocus(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_unmapHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    XUnmapEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_canFocus",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_unmapHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->canFocus();
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XUnmapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->unmapHandler((XUnmapEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_urgent(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_destroyHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    XDestroyWindowEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_urgent",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_destroyHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->urgent();
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XDestroyWindowEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->destroyHandler((XDestroyWindowEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_focusNotify(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_reparentHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    XReparentEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_focusNotify",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_reparentHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->focusNotify();
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XReparentEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->reparentHandler((XReparentEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_shaped(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Client_mapRequestHandler(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    XMapRequestEvent *arg2 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_shaped",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:Client_mapRequestHandler",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->shaped();
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XMapRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->mapRequestHandler((XMapRequestEvent const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_gravity(PyObject *self, PyObject *args) {
+static PyObject * Client_swigregister(PyObject *self, PyObject *args) {
+    PyObject *obj;
+    if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
+    SWIG_TypeClientData(SWIGTYPE_p_ob__Client, obj);
+    Py_INCREF(obj);
+    return Py_BuildValue((char *)"");
+}
+static PyObject *_wrap_new_Frame(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     ob::Client *arg1 = (ob::Client *) 0 ;
-    int result;
+    otk::RenderStyle *arg2 = (otk::RenderStyle *) 0 ;
+    ob::Frame *result;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_gravity",&obj0)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OO:new_Frame",&obj0,&obj1)) goto fail;
     if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((ob::Client const *)arg1)->gravity();
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__RenderStyle,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (ob::Frame *)new ob::Frame(arg1,arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Frame, 1);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_positionRequested(PyObject *self, PyObject *args) {
+static PyObject *_wrap_delete_Frame(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_positionRequested",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->positionRequested();
+    if(!PyArg_ParseTuple(args,(char *)"O:delete_Frame",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    delete arg1;
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_decorations(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_size(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    ob::Client::DecorationFlags result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    otk::Strut *result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_decorations",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Client::DecorationFlags)((ob::Client const *)arg1)->decorations();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_size",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        otk::Strut const &_result_ref = ((ob::Frame const *)arg1)->size();
+        result = (otk::Strut *) &_result_ref;
+    }
     
-    resultobj = PyInt_FromLong((long)result);
+    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Strut, 0);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_funtions(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_setStyle(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    ob::Client::FunctionFlags result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    otk::RenderStyle *arg2 = (otk::RenderStyle *) 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_funtions",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Client::FunctionFlags)((ob::Client const *)arg1)->funtions();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Frame_setStyle",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_otk__RenderStyle,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->setStyle(arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_transientFor(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_adjust(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    ob::Client *result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_transientFor",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (ob::Client *)((ob::Client const *)arg1)->transientFor();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_adjust",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->adjust();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_ob__Client, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_modal(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_focus(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_modal",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->modal();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_focus",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->focus();
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_shaded(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_unfocus(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_shaded",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->shaded();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_unfocus",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->unfocus();
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_iconic(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_setTitle(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    otk::ustring *arg2 = 0 ;
+    otk::ustring temp2 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_iconic",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->iconic();
+    if(!PyArg_ParseTuple(args,(char *)"OO:Frame_setTitle",&obj0,&obj1)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    {
+        if (PyString_Check(obj1)) {
+            temp2 = otk::ustring(PyString_AsString(obj1));
+            arg2 = &temp2;
+        }else {
+            SWIG_exception(SWIG_TypeError, "ustring expected");
+        }
+    }
+    (arg1)->setTitle((otk::ustring const &)*arg2);
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_maxVert(PyObject *self, PyObject *args) {
-    PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+static PyObject *_wrap_Frame_grabClient(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_maxVert",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->maxVert();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_grabClient",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->grabClient();
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_maxHorz(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_releaseClient(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_maxHorz",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->maxHorz();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_releaseClient",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->releaseClient();
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_layer(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_adjustSize(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    int result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_layer",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (int)((ob::Client const *)arg1)->layer();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_adjustSize",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->adjustSize();
     
-    resultobj = PyInt_FromLong((long)result);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_toggleClientBorder(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_adjustPosition(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool arg2 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_toggleClientBorder",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    arg2 = (bool) PyInt_AsLong(obj1);
-    if (PyErr_Occurred()) SWIG_fail;
-    (arg1)->toggleClientBorder(arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_adjustPosition",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->adjustPosition();
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -6403,56 +9807,58 @@ static PyObject *_wrap_Client_toggleClientBorder(PyObject *self, PyObject *args)
 }
 
 
-static PyObject *_wrap_Client_area(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_adjustShape(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    otk::Rect *result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_area",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        otk::Rect const &_result_ref = ((ob::Client const *)arg1)->area();
-        result = (otk::Rect *) &_result_ref;
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_adjustShape",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->adjustShape();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Rect, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_strut(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_adjustState(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    otk::Strut *result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_strut",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    {
-        otk::Strut const &_result_ref = ((ob::Client const *)arg1)->strut();
-        result = (otk::Strut *) &_result_ref;
-    }
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_adjustState",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    (arg1)->adjustState();
     
-    resultobj = SWIG_NewPointerObj((void *) result, SWIGTYPE_p_otk__Strut, 0);
+    Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_move(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_clientGravity(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    int arg2 ;
-    int arg3 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oii:Client_move",&obj0,&arg2,&arg3)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->move(arg2,arg3);
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Frame_clientGravity",&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->clientGravity(*arg2,*arg3);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -6461,19 +9867,26 @@ static PyObject *_wrap_Client_move(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Client_resize(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_frameGravity(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    int arg2 ;
-    int arg3 ;
-    int arg4 ;
-    int arg5 = (int) INT_MIN ;
-    int arg6 = (int) INT_MIN ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    int *arg2 = 0 ;
+    int *arg3 = 0 ;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
+    PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"Oiii|ii:Client_resize",&obj0,&arg2,&arg3,&arg4,&arg5,&arg6)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    (arg1)->resize((ob::Client::Corner )arg2,arg3,arg4,arg5,arg6);
+    if(!PyArg_ParseTuple(args,(char *)"OOO:Frame_frameGravity",&obj0,&obj1,&obj2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg2 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    if ((SWIG_ConvertPtr(obj2,(void **) &arg3, SWIGTYPE_p_int,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg3 == NULL) {
+        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
+    }
+    (arg1)->frameGravity(*arg2,*arg3);
     
     Py_INCREF(Py_None); resultobj = Py_None;
     return resultobj;
@@ -6482,15 +9895,15 @@ static PyObject *_wrap_Client_resize(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Client_focus(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_plate(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    bool result;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_focus",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    result = (bool)((ob::Client const *)arg1)->focus();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_plate",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->plate();
     
     resultobj = PyInt_FromLong((long)result);
     return resultobj;
@@ -6499,202 +9912,163 @@ static PyObject *_wrap_Client_focus(PyObject *self, PyObject *args) {
 }
 
 
-static PyObject *_wrap_Client_unfocus(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_titlebar(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"O:Client_unfocus",&obj0)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    ((ob::Client const *)arg1)->unfocus();
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_titlebar",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->titlebar();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_focusHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_label(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XFocusChangeEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_focusHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->focusHandler((XFocusChangeEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_label",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->label();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_unfocusHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_button_close(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XFocusChangeEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_unfocusHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XFocusChangeEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->unfocusHandler((XFocusChangeEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_button_close",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->button_close();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_propertyHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_button_iconify(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XPropertyEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_propertyHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XPropertyEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->propertyHandler((XPropertyEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_button_iconify",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->button_iconify();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_clientMessageHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_button_max(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XClientMessageEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_clientMessageHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XClientMessageEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->clientMessageHandler((XClientMessageEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_button_max",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->button_max();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_configureRequestHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_button_alldesk(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XConfigureRequestEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_configureRequestHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XConfigureRequestEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->configureRequestHandler((XConfigureRequestEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_button_alldesk",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->button_alldesk();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_unmapHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_handle(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XUnmapEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_unmapHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XUnmapEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->unmapHandler((XUnmapEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_handle",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->handle();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_destroyHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_grip_left(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XDestroyWindowEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_destroyHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XDestroyWindowEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->destroyHandler((XDestroyWindowEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_grip_left",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->grip_left();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject *_wrap_Client_reparentHandler(PyObject *self, PyObject *args) {
+static PyObject *_wrap_Frame_grip_right(PyObject *self, PyObject *args) {
     PyObject *resultobj;
-    ob::Client *arg1 = (ob::Client *) 0 ;
-    XReparentEvent *arg2 = 0 ;
+    ob::Frame *arg1 = (ob::Frame *) 0 ;
+    Window result;
     PyObject * obj0  = 0 ;
-    PyObject * obj1  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OO:Client_reparentHandler",&obj0,&obj1)) goto fail;
-    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Client,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if ((SWIG_ConvertPtr(obj1,(void **) &arg2, SWIGTYPE_p_XReparentEvent,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
-    if (arg2 == NULL) {
-        PyErr_SetString(PyExc_TypeError,"null reference"); SWIG_fail; 
-    }
-    (arg1)->reparentHandler((XReparentEvent const &)*arg2);
+    if(!PyArg_ParseTuple(args,(char *)"O:Frame_grip_right",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__Frame,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (Window)((ob::Frame const *)arg1)->grip_right();
     
-    Py_INCREF(Py_None); resultobj = Py_None;
+    resultobj = PyInt_FromLong((long)result);
     return resultobj;
     fail:
     return NULL;
 }
 
 
-static PyObject * Client_swigregister(PyObject *self, PyObject *args) {
+static PyObject * Frame_swigregister(PyObject *self, PyObject *args) {
     PyObject *obj;
     if (!PyArg_ParseTuple(args,(char*)"O", &obj)) return NULL;
-    SWIG_TypeClientData(SWIGTYPE_p_ob__Client, obj);
+    SWIG_TypeClientData(SWIGTYPE_p_ob__Frame, obj);
     Py_INCREF(obj);
     return Py_BuildValue((char *)"");
 }
@@ -7792,6 +11166,40 @@ static PyObject *_wrap_KeyData_key_get(PyObject *self, PyObject *args) {
 }
 
 
+static PyObject *_wrap_KeyData_action_set(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    ob::KeyData *arg1 = (ob::KeyData *) 0 ;
+    int arg2 ;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"Oi:KeyData_action_set",&obj0,&arg2)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__KeyData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    if (arg1) (arg1)->action = (ob::EventAction )arg2;
+    
+    Py_INCREF(Py_None); resultobj = Py_None;
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
+static PyObject *_wrap_KeyData_action_get(PyObject *self, PyObject *args) {
+    PyObject *resultobj;
+    ob::KeyData *arg1 = (ob::KeyData *) 0 ;
+    int result;
+    PyObject * obj0  = 0 ;
+    
+    if(!PyArg_ParseTuple(args,(char *)"O:KeyData_action_get",&obj0)) goto fail;
+    if ((SWIG_ConvertPtr(obj0,(void **) &arg1, SWIGTYPE_p_ob__KeyData,SWIG_POINTER_EXCEPTION | 0 )) == -1) SWIG_fail;
+    result = (int) ((arg1)->action);
+    
+    resultobj = PyInt_FromLong((long)result);
+    return resultobj;
+    fail:
+    return NULL;
+}
+
+
 static PyObject *_wrap_new_KeyData(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     int arg1 ;
@@ -7925,7 +11333,7 @@ static PyObject *_wrap_set_reset_key(PyObject *self, PyObject *args) {
 static PyObject *_wrap_send_client_msg(PyObject *self, PyObject *args) {
     PyObject *resultobj;
     Window arg1 ;
-    int arg2 ;
+    Atom arg2 ;
     Window arg3 ;
     long arg4 ;
     long arg5 = (long) 0 ;
@@ -7934,11 +11342,14 @@ static PyObject *_wrap_send_client_msg(PyObject *self, PyObject *args) {
     long arg8 = (long) 0 ;
     PyObject *result;
     PyObject * obj0  = 0 ;
+    PyObject * obj1  = 0 ;
     PyObject * obj2  = 0 ;
     
-    if(!PyArg_ParseTuple(args,(char *)"OiOl|llll:send_client_msg",&obj0,&arg2,&obj2,&arg4,&arg5,&arg6,&arg7,&arg8)) goto fail;
+    if(!PyArg_ParseTuple(args,(char *)"OOOl|llll:send_client_msg",&obj0,&obj1,&obj2,&arg4,&arg5,&arg6,&arg7,&arg8)) goto fail;
     arg1 = (Window) PyInt_AsLong(obj0);
     if (PyErr_Occurred()) SWIG_fail;
+    arg2 = (Atom) PyInt_AsLong(obj1);
+    if (PyErr_Occurred()) SWIG_fail;
     arg3 = (Window) PyInt_AsLong(obj2);
     if (PyErr_Occurred()) SWIG_fail;
     result = (PyObject *)ob::send_client_msg(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
@@ -7953,11 +11364,13 @@ static PyObject *_wrap_send_client_msg(PyObject *self, PyObject *args) {
 static PyMethodDef SwigMethods[] = {
         { (char *)"Openbox_instance", _wrap_Openbox_instance, METH_VARARGS },
         { (char *)"Display_instance", _wrap_Display_instance, METH_VARARGS },
+        { (char *)"Property_atoms", _wrap_Property_atoms, METH_VARARGS },
         { (char *)"new_Display", _wrap_new_Display, METH_VARARGS },
         { (char *)"delete_Display", _wrap_delete_Display, METH_VARARGS },
         { (char *)"Display_gcCache", _wrap_Display_gcCache, METH_VARARGS },
         { (char *)"Display_screenInfo", _wrap_Display_screenInfo, METH_VARARGS },
         { (char *)"Display_findScreen", _wrap_Display_findScreen, METH_VARARGS },
+        { (char *)"Display_renderControl", _wrap_Display_renderControl, METH_VARARGS },
         { (char *)"Display_xkb", _wrap_Display_xkb, METH_VARARGS },
         { (char *)"Display_xkbEventBase", _wrap_Display_xkbEventBase, METH_VARARGS },
         { (char *)"Display_shape", _wrap_Display_shape, METH_VARARGS },
@@ -7980,12 +11393,169 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Point_y", _wrap_Point_y, METH_VARARGS },
         { (char *)"Point_setPoint", _wrap_Point_setPoint, METH_VARARGS },
         { (char *)"Point_swigregister", Point_swigregister, METH_VARARGS },
-        { (char *)"new_Property", _wrap_new_Property, METH_VARARGS },
-        { (char *)"delete_Property", _wrap_delete_Property, METH_VARARGS },
+        { (char *)"Atoms_cardinal_set", _wrap_Atoms_cardinal_set, METH_VARARGS },
+        { (char *)"Atoms_cardinal_get", _wrap_Atoms_cardinal_get, METH_VARARGS },
+        { (char *)"Atoms_window_set", _wrap_Atoms_window_set, METH_VARARGS },
+        { (char *)"Atoms_window_get", _wrap_Atoms_window_get, METH_VARARGS },
+        { (char *)"Atoms_pixmap_set", _wrap_Atoms_pixmap_set, METH_VARARGS },
+        { (char *)"Atoms_pixmap_get", _wrap_Atoms_pixmap_get, METH_VARARGS },
+        { (char *)"Atoms_atom_set", _wrap_Atoms_atom_set, METH_VARARGS },
+        { (char *)"Atoms_atom_get", _wrap_Atoms_atom_get, METH_VARARGS },
+        { (char *)"Atoms_string_set", _wrap_Atoms_string_set, METH_VARARGS },
+        { (char *)"Atoms_string_get", _wrap_Atoms_string_get, METH_VARARGS },
+        { (char *)"Atoms_utf8_set", _wrap_Atoms_utf8_set, METH_VARARGS },
+        { (char *)"Atoms_utf8_get", _wrap_Atoms_utf8_get, METH_VARARGS },
+        { (char *)"Atoms_openbox_pid_set", _wrap_Atoms_openbox_pid_set, METH_VARARGS },
+        { (char *)"Atoms_openbox_pid_get", _wrap_Atoms_openbox_pid_get, METH_VARARGS },
+        { (char *)"Atoms_wm_colormap_windows_set", _wrap_Atoms_wm_colormap_windows_set, METH_VARARGS },
+        { (char *)"Atoms_wm_colormap_windows_get", _wrap_Atoms_wm_colormap_windows_get, METH_VARARGS },
+        { (char *)"Atoms_wm_protocols_set", _wrap_Atoms_wm_protocols_set, METH_VARARGS },
+        { (char *)"Atoms_wm_protocols_get", _wrap_Atoms_wm_protocols_get, METH_VARARGS },
+        { (char *)"Atoms_wm_state_set", _wrap_Atoms_wm_state_set, METH_VARARGS },
+        { (char *)"Atoms_wm_state_get", _wrap_Atoms_wm_state_get, METH_VARARGS },
+        { (char *)"Atoms_wm_delete_window_set", _wrap_Atoms_wm_delete_window_set, METH_VARARGS },
+        { (char *)"Atoms_wm_delete_window_get", _wrap_Atoms_wm_delete_window_get, METH_VARARGS },
+        { (char *)"Atoms_wm_take_focus_set", _wrap_Atoms_wm_take_focus_set, METH_VARARGS },
+        { (char *)"Atoms_wm_take_focus_get", _wrap_Atoms_wm_take_focus_get, METH_VARARGS },
+        { (char *)"Atoms_wm_change_state_set", _wrap_Atoms_wm_change_state_set, METH_VARARGS },
+        { (char *)"Atoms_wm_change_state_get", _wrap_Atoms_wm_change_state_get, METH_VARARGS },
+        { (char *)"Atoms_wm_name_set", _wrap_Atoms_wm_name_set, METH_VARARGS },
+        { (char *)"Atoms_wm_name_get", _wrap_Atoms_wm_name_get, METH_VARARGS },
+        { (char *)"Atoms_wm_icon_name_set", _wrap_Atoms_wm_icon_name_set, METH_VARARGS },
+        { (char *)"Atoms_wm_icon_name_get", _wrap_Atoms_wm_icon_name_get, METH_VARARGS },
+        { (char *)"Atoms_wm_class_set", _wrap_Atoms_wm_class_set, METH_VARARGS },
+        { (char *)"Atoms_wm_class_get", _wrap_Atoms_wm_class_get, METH_VARARGS },
+        { (char *)"Atoms_wm_window_role_set", _wrap_Atoms_wm_window_role_set, METH_VARARGS },
+        { (char *)"Atoms_wm_window_role_get", _wrap_Atoms_wm_window_role_get, METH_VARARGS },
+        { (char *)"Atoms_motif_wm_hints_set", _wrap_Atoms_motif_wm_hints_set, METH_VARARGS },
+        { (char *)"Atoms_motif_wm_hints_get", _wrap_Atoms_motif_wm_hints_get, METH_VARARGS },
+        { (char *)"Atoms_openbox_show_root_menu_set", _wrap_Atoms_openbox_show_root_menu_set, METH_VARARGS },
+        { (char *)"Atoms_openbox_show_root_menu_get", _wrap_Atoms_openbox_show_root_menu_get, METH_VARARGS },
+        { (char *)"Atoms_openbox_show_workspace_menu_set", _wrap_Atoms_openbox_show_workspace_menu_set, METH_VARARGS },
+        { (char *)"Atoms_openbox_show_workspace_menu_get", _wrap_Atoms_openbox_show_workspace_menu_get, METH_VARARGS },
+        { (char *)"Atoms_net_supported_set", _wrap_Atoms_net_supported_set, METH_VARARGS },
+        { (char *)"Atoms_net_supported_get", _wrap_Atoms_net_supported_get, METH_VARARGS },
+        { (char *)"Atoms_net_client_list_set", _wrap_Atoms_net_client_list_set, METH_VARARGS },
+        { (char *)"Atoms_net_client_list_get", _wrap_Atoms_net_client_list_get, METH_VARARGS },
+        { (char *)"Atoms_net_client_list_stacking_set", _wrap_Atoms_net_client_list_stacking_set, METH_VARARGS },
+        { (char *)"Atoms_net_client_list_stacking_get", _wrap_Atoms_net_client_list_stacking_get, METH_VARARGS },
+        { (char *)"Atoms_net_number_of_desktops_set", _wrap_Atoms_net_number_of_desktops_set, METH_VARARGS },
+        { (char *)"Atoms_net_number_of_desktops_get", _wrap_Atoms_net_number_of_desktops_get, METH_VARARGS },
+        { (char *)"Atoms_net_desktop_geometry_set", _wrap_Atoms_net_desktop_geometry_set, METH_VARARGS },
+        { (char *)"Atoms_net_desktop_geometry_get", _wrap_Atoms_net_desktop_geometry_get, METH_VARARGS },
+        { (char *)"Atoms_net_desktop_viewport_set", _wrap_Atoms_net_desktop_viewport_set, METH_VARARGS },
+        { (char *)"Atoms_net_desktop_viewport_get", _wrap_Atoms_net_desktop_viewport_get, METH_VARARGS },
+        { (char *)"Atoms_net_current_desktop_set", _wrap_Atoms_net_current_desktop_set, METH_VARARGS },
+        { (char *)"Atoms_net_current_desktop_get", _wrap_Atoms_net_current_desktop_get, METH_VARARGS },
+        { (char *)"Atoms_net_desktop_names_set", _wrap_Atoms_net_desktop_names_set, METH_VARARGS },
+        { (char *)"Atoms_net_desktop_names_get", _wrap_Atoms_net_desktop_names_get, METH_VARARGS },
+        { (char *)"Atoms_net_active_window_set", _wrap_Atoms_net_active_window_set, METH_VARARGS },
+        { (char *)"Atoms_net_active_window_get", _wrap_Atoms_net_active_window_get, METH_VARARGS },
+        { (char *)"Atoms_net_workarea_set", _wrap_Atoms_net_workarea_set, METH_VARARGS },
+        { (char *)"Atoms_net_workarea_get", _wrap_Atoms_net_workarea_get, METH_VARARGS },
+        { (char *)"Atoms_net_supporting_wm_check_set", _wrap_Atoms_net_supporting_wm_check_set, METH_VARARGS },
+        { (char *)"Atoms_net_supporting_wm_check_get", _wrap_Atoms_net_supporting_wm_check_get, METH_VARARGS },
+        { (char *)"Atoms_net_close_window_set", _wrap_Atoms_net_close_window_set, METH_VARARGS },
+        { (char *)"Atoms_net_close_window_get", _wrap_Atoms_net_close_window_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_set", _wrap_Atoms_net_wm_moveresize_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_get", _wrap_Atoms_net_wm_moveresize_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_name_set", _wrap_Atoms_net_wm_name_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_name_get", _wrap_Atoms_net_wm_name_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_visible_name_set", _wrap_Atoms_net_wm_visible_name_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_visible_name_get", _wrap_Atoms_net_wm_visible_name_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_icon_name_set", _wrap_Atoms_net_wm_icon_name_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_icon_name_get", _wrap_Atoms_net_wm_icon_name_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_visible_icon_name_set", _wrap_Atoms_net_wm_visible_icon_name_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_visible_icon_name_get", _wrap_Atoms_net_wm_visible_icon_name_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_desktop_set", _wrap_Atoms_net_wm_desktop_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_desktop_get", _wrap_Atoms_net_wm_desktop_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_set", _wrap_Atoms_net_wm_window_type_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_get", _wrap_Atoms_net_wm_window_type_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_set", _wrap_Atoms_net_wm_state_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_get", _wrap_Atoms_net_wm_state_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_strut_set", _wrap_Atoms_net_wm_strut_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_strut_get", _wrap_Atoms_net_wm_strut_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_allowed_actions_set", _wrap_Atoms_net_wm_allowed_actions_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_allowed_actions_get", _wrap_Atoms_net_wm_allowed_actions_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_desktop_set", _wrap_Atoms_net_wm_window_type_desktop_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_desktop_get", _wrap_Atoms_net_wm_window_type_desktop_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_dock_set", _wrap_Atoms_net_wm_window_type_dock_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_dock_get", _wrap_Atoms_net_wm_window_type_dock_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_toolbar_set", _wrap_Atoms_net_wm_window_type_toolbar_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_toolbar_get", _wrap_Atoms_net_wm_window_type_toolbar_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_menu_set", _wrap_Atoms_net_wm_window_type_menu_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_menu_get", _wrap_Atoms_net_wm_window_type_menu_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_utility_set", _wrap_Atoms_net_wm_window_type_utility_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_utility_get", _wrap_Atoms_net_wm_window_type_utility_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_splash_set", _wrap_Atoms_net_wm_window_type_splash_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_splash_get", _wrap_Atoms_net_wm_window_type_splash_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_dialog_set", _wrap_Atoms_net_wm_window_type_dialog_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_dialog_get", _wrap_Atoms_net_wm_window_type_dialog_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_normal_set", _wrap_Atoms_net_wm_window_type_normal_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_window_type_normal_get", _wrap_Atoms_net_wm_window_type_normal_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_topleft_set", _wrap_Atoms_net_wm_moveresize_size_topleft_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_topleft_get", _wrap_Atoms_net_wm_moveresize_size_topleft_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_topright_set", _wrap_Atoms_net_wm_moveresize_size_topright_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_topright_get", _wrap_Atoms_net_wm_moveresize_size_topright_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_bottomleft_set", _wrap_Atoms_net_wm_moveresize_size_bottomleft_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_bottomleft_get", _wrap_Atoms_net_wm_moveresize_size_bottomleft_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_bottomright_set", _wrap_Atoms_net_wm_moveresize_size_bottomright_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_size_bottomright_get", _wrap_Atoms_net_wm_moveresize_size_bottomright_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_move_set", _wrap_Atoms_net_wm_moveresize_move_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_moveresize_move_get", _wrap_Atoms_net_wm_moveresize_move_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_move_set", _wrap_Atoms_net_wm_action_move_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_move_get", _wrap_Atoms_net_wm_action_move_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_resize_set", _wrap_Atoms_net_wm_action_resize_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_resize_get", _wrap_Atoms_net_wm_action_resize_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_minimize_set", _wrap_Atoms_net_wm_action_minimize_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_minimize_get", _wrap_Atoms_net_wm_action_minimize_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_shade_set", _wrap_Atoms_net_wm_action_shade_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_shade_get", _wrap_Atoms_net_wm_action_shade_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_stick_set", _wrap_Atoms_net_wm_action_stick_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_stick_get", _wrap_Atoms_net_wm_action_stick_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_maximize_horz_set", _wrap_Atoms_net_wm_action_maximize_horz_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_maximize_horz_get", _wrap_Atoms_net_wm_action_maximize_horz_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_maximize_vert_set", _wrap_Atoms_net_wm_action_maximize_vert_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_maximize_vert_get", _wrap_Atoms_net_wm_action_maximize_vert_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_fullscreen_set", _wrap_Atoms_net_wm_action_fullscreen_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_fullscreen_get", _wrap_Atoms_net_wm_action_fullscreen_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_change_desktop_set", _wrap_Atoms_net_wm_action_change_desktop_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_change_desktop_get", _wrap_Atoms_net_wm_action_change_desktop_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_close_set", _wrap_Atoms_net_wm_action_close_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_action_close_get", _wrap_Atoms_net_wm_action_close_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_modal_set", _wrap_Atoms_net_wm_state_modal_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_modal_get", _wrap_Atoms_net_wm_state_modal_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_sticky_set", _wrap_Atoms_net_wm_state_sticky_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_sticky_get", _wrap_Atoms_net_wm_state_sticky_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_maximized_vert_set", _wrap_Atoms_net_wm_state_maximized_vert_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_maximized_vert_get", _wrap_Atoms_net_wm_state_maximized_vert_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_maximized_horz_set", _wrap_Atoms_net_wm_state_maximized_horz_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_maximized_horz_get", _wrap_Atoms_net_wm_state_maximized_horz_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_shaded_set", _wrap_Atoms_net_wm_state_shaded_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_shaded_get", _wrap_Atoms_net_wm_state_shaded_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_skip_taskbar_set", _wrap_Atoms_net_wm_state_skip_taskbar_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_skip_taskbar_get", _wrap_Atoms_net_wm_state_skip_taskbar_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_skip_pager_set", _wrap_Atoms_net_wm_state_skip_pager_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_skip_pager_get", _wrap_Atoms_net_wm_state_skip_pager_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_hidden_set", _wrap_Atoms_net_wm_state_hidden_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_hidden_get", _wrap_Atoms_net_wm_state_hidden_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_fullscreen_set", _wrap_Atoms_net_wm_state_fullscreen_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_fullscreen_get", _wrap_Atoms_net_wm_state_fullscreen_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_above_set", _wrap_Atoms_net_wm_state_above_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_above_get", _wrap_Atoms_net_wm_state_above_get, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_below_set", _wrap_Atoms_net_wm_state_below_set, METH_VARARGS },
+        { (char *)"Atoms_net_wm_state_below_get", _wrap_Atoms_net_wm_state_below_get, METH_VARARGS },
+        { (char *)"Atoms_kde_net_system_tray_windows_set", _wrap_Atoms_kde_net_system_tray_windows_set, METH_VARARGS },
+        { (char *)"Atoms_kde_net_system_tray_windows_get", _wrap_Atoms_kde_net_system_tray_windows_get, METH_VARARGS },
+        { (char *)"Atoms_kde_net_wm_system_tray_window_for_set", _wrap_Atoms_kde_net_wm_system_tray_window_for_set, METH_VARARGS },
+        { (char *)"Atoms_kde_net_wm_system_tray_window_for_get", _wrap_Atoms_kde_net_wm_system_tray_window_for_get, METH_VARARGS },
+        { (char *)"Atoms_kde_net_wm_window_type_override_set", _wrap_Atoms_kde_net_wm_window_type_override_set, METH_VARARGS },
+        { (char *)"Atoms_kde_net_wm_window_type_override_get", _wrap_Atoms_kde_net_wm_window_type_override_get, METH_VARARGS },
+        { (char *)"Atoms_swigregister", Atoms_swigregister, METH_VARARGS },
+        { (char *)"Property_initialize", _wrap_Property_initialize, METH_VARARGS },
         { (char *)"Property_set", _wrap_Property_set, METH_VARARGS },
         { (char *)"Property_get", _wrap_Property_get, METH_VARARGS },
         { (char *)"Property_erase", _wrap_Property_erase, METH_VARARGS },
-        { (char *)"Property_atom", _wrap_Property_atom, METH_VARARGS },
         { (char *)"Property_swigregister", Property_swigregister, METH_VARARGS },
         { (char *)"new_Rect", _wrap_new_Rect, METH_VARARGS },
         { (char *)"Rect_left", _wrap_Rect_left, METH_VARARGS },
@@ -8099,7 +11669,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Cursors_ur_angle_get", _wrap_Cursors_ur_angle_get, METH_VARARGS },
         { (char *)"Cursors_swigregister", Cursors_swigregister, METH_VARARGS },
         { (char *)"Openbox_state", _wrap_Openbox_state, METH_VARARGS },
-        { (char *)"Openbox_property", _wrap_Openbox_property, METH_VARARGS },
         { (char *)"Openbox_actions", _wrap_Openbox_actions, METH_VARARGS },
         { (char *)"Openbox_bindings", _wrap_Openbox_bindings, METH_VARARGS },
         { (char *)"Openbox_screen", _wrap_Openbox_screen, METH_VARARGS },
@@ -8119,7 +11688,6 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Screen_clientCount", _wrap_Screen_clientCount, METH_VARARGS },
         { (char *)"Screen_number", _wrap_Screen_number, METH_VARARGS },
         { (char *)"Screen_managed", _wrap_Screen_managed, METH_VARARGS },
-        { (char *)"Screen_imageControl", _wrap_Screen_imageControl, METH_VARARGS },
         { (char *)"Screen_area", _wrap_Screen_area, METH_VARARGS },
         { (char *)"Screen_style", _wrap_Screen_style, METH_VARARGS },
         { (char *)"Screen_focuswindow", _wrap_Screen_focuswindow, METH_VARARGS },
@@ -8129,7 +11697,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Screen_manageExisting", _wrap_Screen_manageExisting, METH_VARARGS },
         { (char *)"Screen_manageWindow", _wrap_Screen_manageWindow, METH_VARARGS },
         { (char *)"Screen_unmanageWindow", _wrap_Screen_unmanageWindow, METH_VARARGS },
-        { (char *)"Screen_restack", _wrap_Screen_restack, METH_VARARGS },
+        { (char *)"Screen_raiseWindow", _wrap_Screen_raiseWindow, METH_VARARGS },
+        { (char *)"Screen_lowerWindow", _wrap_Screen_lowerWindow, METH_VARARGS },
         { (char *)"Screen_setDesktopName", _wrap_Screen_setDesktopName, METH_VARARGS },
         { (char *)"Screen_propertyHandler", _wrap_Screen_propertyHandler, METH_VARARGS },
         { (char *)"Screen_clientMessageHandler", _wrap_Screen_clientMessageHandler, METH_VARARGS },
@@ -8167,10 +11736,12 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Client_transientFor", _wrap_Client_transientFor, METH_VARARGS },
         { (char *)"Client_modal", _wrap_Client_modal, METH_VARARGS },
         { (char *)"Client_shaded", _wrap_Client_shaded, METH_VARARGS },
+        { (char *)"Client_fullscreen", _wrap_Client_fullscreen, METH_VARARGS },
         { (char *)"Client_iconic", _wrap_Client_iconic, METH_VARARGS },
         { (char *)"Client_maxVert", _wrap_Client_maxVert, METH_VARARGS },
         { (char *)"Client_maxHorz", _wrap_Client_maxHorz, METH_VARARGS },
         { (char *)"Client_layer", _wrap_Client_layer, METH_VARARGS },
+        { (char *)"Client_applyStartupState", _wrap_Client_applyStartupState, METH_VARARGS },
         { (char *)"Client_toggleClientBorder", _wrap_Client_toggleClientBorder, METH_VARARGS },
         { (char *)"Client_area", _wrap_Client_area, METH_VARARGS },
         { (char *)"Client_strut", _wrap_Client_strut, METH_VARARGS },
@@ -8186,7 +11757,35 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"Client_unmapHandler", _wrap_Client_unmapHandler, METH_VARARGS },
         { (char *)"Client_destroyHandler", _wrap_Client_destroyHandler, METH_VARARGS },
         { (char *)"Client_reparentHandler", _wrap_Client_reparentHandler, METH_VARARGS },
+        { (char *)"Client_mapRequestHandler", _wrap_Client_mapRequestHandler, METH_VARARGS },
         { (char *)"Client_swigregister", Client_swigregister, METH_VARARGS },
+        { (char *)"new_Frame", _wrap_new_Frame, METH_VARARGS },
+        { (char *)"delete_Frame", _wrap_delete_Frame, METH_VARARGS },
+        { (char *)"Frame_size", _wrap_Frame_size, METH_VARARGS },
+        { (char *)"Frame_setStyle", _wrap_Frame_setStyle, METH_VARARGS },
+        { (char *)"Frame_adjust", _wrap_Frame_adjust, METH_VARARGS },
+        { (char *)"Frame_focus", _wrap_Frame_focus, METH_VARARGS },
+        { (char *)"Frame_unfocus", _wrap_Frame_unfocus, METH_VARARGS },
+        { (char *)"Frame_setTitle", _wrap_Frame_setTitle, METH_VARARGS },
+        { (char *)"Frame_grabClient", _wrap_Frame_grabClient, METH_VARARGS },
+        { (char *)"Frame_releaseClient", _wrap_Frame_releaseClient, METH_VARARGS },
+        { (char *)"Frame_adjustSize", _wrap_Frame_adjustSize, METH_VARARGS },
+        { (char *)"Frame_adjustPosition", _wrap_Frame_adjustPosition, METH_VARARGS },
+        { (char *)"Frame_adjustShape", _wrap_Frame_adjustShape, METH_VARARGS },
+        { (char *)"Frame_adjustState", _wrap_Frame_adjustState, METH_VARARGS },
+        { (char *)"Frame_clientGravity", _wrap_Frame_clientGravity, METH_VARARGS },
+        { (char *)"Frame_frameGravity", _wrap_Frame_frameGravity, METH_VARARGS },
+        { (char *)"Frame_plate", _wrap_Frame_plate, METH_VARARGS },
+        { (char *)"Frame_titlebar", _wrap_Frame_titlebar, METH_VARARGS },
+        { (char *)"Frame_label", _wrap_Frame_label, METH_VARARGS },
+        { (char *)"Frame_button_close", _wrap_Frame_button_close, METH_VARARGS },
+        { (char *)"Frame_button_iconify", _wrap_Frame_button_iconify, METH_VARARGS },
+        { (char *)"Frame_button_max", _wrap_Frame_button_max, METH_VARARGS },
+        { (char *)"Frame_button_alldesk", _wrap_Frame_button_alldesk, METH_VARARGS },
+        { (char *)"Frame_handle", _wrap_Frame_handle, METH_VARARGS },
+        { (char *)"Frame_grip_left", _wrap_Frame_grip_left, METH_VARARGS },
+        { (char *)"Frame_grip_right", _wrap_Frame_grip_right, METH_VARARGS },
+        { (char *)"Frame_swigregister", Frame_swigregister, METH_VARARGS },
         { (char *)"MouseData_screen_set", _wrap_MouseData_screen_set, METH_VARARGS },
         { (char *)"MouseData_screen_get", _wrap_MouseData_screen_get, METH_VARARGS },
         { (char *)"MouseData_client_set", _wrap_MouseData_client_set, METH_VARARGS },
@@ -8239,6 +11838,8 @@ static PyMethodDef SwigMethods[] = {
         { (char *)"KeyData_state_get", _wrap_KeyData_state_get, METH_VARARGS },
         { (char *)"KeyData_key_set", _wrap_KeyData_key_set, METH_VARARGS },
         { (char *)"KeyData_key_get", _wrap_KeyData_key_get, METH_VARARGS },
+        { (char *)"KeyData_action_set", _wrap_KeyData_action_set, METH_VARARGS },
+        { (char *)"KeyData_action_get", _wrap_KeyData_action_get, METH_VARARGS },
         { (char *)"new_KeyData", _wrap_new_KeyData, METH_VARARGS },
         { (char *)"KeyData_swigregister", KeyData_swigregister, METH_VARARGS },
         { (char *)"mbind", _wrap_mbind, METH_VARARGS },
@@ -8252,9 +11853,18 @@ static PyMethodDef SwigMethods[] = {
 
 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */
 
+static void *_p_ob__FrameTo_p_otk__Widget(void *x) {
+    return (void *)((otk::Widget *)  ((ob::Frame *) x));
+}
 static void *_p_ob__ActionsTo_p_otk__EventHandler(void *x) {
     return (void *)((otk::EventHandler *)  ((ob::Actions *) x));
 }
+static void *_p_ob__FrameTo_p_otk__EventHandler(void *x) {
+    return (void *)((otk::EventHandler *) (otk::Widget *) ((ob::Frame *) x));
+}
+static void *_p_otk__WidgetTo_p_otk__EventHandler(void *x) {
+    return (void *)((otk::EventHandler *)  ((otk::Widget *) x));
+}
 static void *_p_ob__OpenboxTo_p_otk__EventHandler(void *x) {
     return (void *)((otk::EventHandler *)  ((ob::Openbox *) x));
 }
@@ -8267,6 +11877,9 @@ static void *_p_ob__ClientTo_p_otk__EventHandler(void *x) {
 static void *_p_ob__OpenboxTo_p_otk__EventDispatcher(void *x) {
     return (void *)((otk::EventDispatcher *)  ((ob::Openbox *) x));
 }
+static void *_p_ob__FrameTo_p_ob__WidgetBase(void *x) {
+    return (void *)((ob::WidgetBase *)  ((ob::Frame *) x));
+}
 static void *_p_ob__ScreenTo_p_ob__WidgetBase(void *x) {
     return (void *)((ob::WidgetBase *)  ((ob::Screen *) x));
 }
@@ -8296,13 +11909,13 @@ static swig_type_info _swigt__p_XVisibilityEvent[] = {{"_p_XVisibilityEvent", 0,
 static swig_type_info _swigt__p_XPropertyEvent[] = {{"_p_XPropertyEvent", 0, "XPropertyEvent *", 0},{"_p_XPropertyEvent"},{0}};
 static swig_type_info _swigt__p_XSelectionRequestEvent[] = {{"_p_XSelectionRequestEvent", 0, "XSelectionRequestEvent *", 0},{"_p_XSelectionRequestEvent"},{0}};
 static swig_type_info _swigt__p_ob__Cursors[] = {{"_p_ob__Cursors", 0, "ob::Cursors *", 0},{"_p_ob__Cursors"},{0}};
-static swig_type_info _swigt__p_otk__ImageControl[] = {{"_p_otk__ImageControl", 0, "otk::ImageControl *", 0},{"_p_otk__ImageControl"},{0}};
+static swig_type_info _swigt__p_otk__RenderControl[] = {{"_p_otk__RenderControl", 0, "otk::RenderControl *", 0},{"_p_otk__RenderControl"},{0}};
 static swig_type_info _swigt__p_ob__MwmHints[] = {{"_p_ob__MwmHints", 0, "ob::MwmHints *", 0},{"_p_ob__MwmHints"},{0}};
 static swig_type_info _swigt__p_ob__Screen[] = {{"_p_ob__Screen", 0, "ob::Screen *", 0},{"_p_ob__Screen"},{0}};
 static swig_type_info _swigt__p_ob__Frame[] = {{"_p_ob__Frame", 0, "ob::Frame *", 0},{"_p_ob__Frame"},{0}};
 static swig_type_info _swigt__p_ob__KeyData[] = {{"_p_ob__KeyData", 0, "ob::KeyData *", 0},{"_p_ob__KeyData"},{0}};
-static swig_type_info _swigt__p_XConfigureEvent[] = {{"_p_XConfigureEvent", 0, "XConfigureEvent *", 0},{"_p_XConfigureEvent"},{0}};
 static swig_type_info _swigt__p_XCirculateEvent[] = {{"_p_XCirculateEvent", 0, "XCirculateEvent *", 0},{"_p_XCirculateEvent"},{0}};
+static swig_type_info _swigt__p_XConfigureEvent[] = {{"_p_XConfigureEvent", 0, "XConfigureEvent *", 0},{"_p_XConfigureEvent"},{0}};
 static swig_type_info _swigt__p_XRectangle[] = {{"_p_XRectangle", 0, "XRectangle *", 0},{"_p_XRectangle"},{0}};
 static swig_type_info _swigt__p_otk__ustring[] = {{"_p_otk__ustring", 0, "otk::ustring *", 0},{"_p_otk__ustring"},{0}};
 static swig_type_info _swigt__p_std__string[] = {{"_p_std__string", 0, "std::string *", 0},{"_p_std__string"},{0}};
@@ -8310,27 +11923,30 @@ static swig_type_info _swigt__p_XCrossingEvent[] = {{"_p_XCrossingEvent", 0, "XC
 static swig_type_info _swigt__p_otk__Display[] = {{"_p_otk__Display", 0, "otk::Display *", 0},{"_p_otk__Display"},{0}};
 static swig_type_info _swigt__p_Display[] = {{"_p_Display", 0, "Display *", 0},{"_p_Display"},{0}};
 static swig_type_info _swigt__p_XMappingEvent[] = {{"_p_XMappingEvent", 0, "XMappingEvent *", 0},{"_p_XMappingEvent"},{0}};
-static swig_type_info _swigt__p_otk__Style[] = {{"_p_otk__Style", 0, "otk::Style *", 0},{"_p_otk__Style"},{0}};
-static swig_type_info _swigt__p_otk__EventHandler[] = {{"_p_otk__EventHandler", 0, "otk::EventHandler *", 0},{"_p_ob__Client", _p_ob__ClientTo_p_otk__EventHandler},{"_p_ob__Actions", _p_ob__ActionsTo_p_otk__EventHandler},{"_p_otk__EventHandler"},{"_p_ob__Openbox", _p_ob__OpenboxTo_p_otk__EventHandler},{"_p_ob__Screen", _p_ob__ScreenTo_p_otk__EventHandler},{0}};
+static swig_type_info _swigt__p_otk__EventHandler[] = {{"_p_otk__EventHandler", 0, "otk::EventHandler *", 0},{"_p_ob__Client", _p_ob__ClientTo_p_otk__EventHandler},{"_p_ob__Actions", _p_ob__ActionsTo_p_otk__EventHandler},{"_p_otk__EventHandler"},{"_p_ob__Frame", _p_ob__FrameTo_p_otk__EventHandler},{"_p_ob__Openbox", _p_ob__OpenboxTo_p_otk__EventHandler},{"_p_otk__Widget", _p_otk__WidgetTo_p_otk__EventHandler},{"_p_ob__Screen", _p_ob__ScreenTo_p_otk__EventHandler},{0}};
 static swig_type_info _swigt__p_XReparentEvent[] = {{"_p_XReparentEvent", 0, "XReparentEvent *", 0},{"_p_XReparentEvent"},{0}};
 static swig_type_info _swigt__p_otk__EventDispatcher[] = {{"_p_otk__EventDispatcher", 0, "otk::EventDispatcher *", 0},{"_p_otk__EventDispatcher"},{"_p_ob__Openbox", _p_ob__OpenboxTo_p_otk__EventDispatcher},{0}};
 static swig_type_info _swigt__p_otk__GCCache[] = {{"_p_otk__GCCache", 0, "otk::GCCache *", 0},{"_p_otk__GCCache"},{0}};
 static swig_type_info _swigt__p_ob__Bindings[] = {{"_p_ob__Bindings", 0, "ob::Bindings *", 0},{"_p_ob__Bindings"},{0}};
 static swig_type_info _swigt__p_ob__Openbox[] = {{"_p_ob__Openbox", 0, "ob::Openbox *", 0},{"_p_ob__Openbox"},{0}};
 static swig_type_info _swigt__p_ob__Actions[] = {{"_p_ob__Actions", 0, "ob::Actions *", 0},{"_p_ob__Actions"},{0}};
+static swig_type_info _swigt__p_otk__Widget[] = {{"_p_otk__Widget", 0, "otk::Widget *", 0},{"_p_ob__Frame", _p_ob__FrameTo_p_otk__Widget},{"_p_otk__Widget"},{0}};
 static swig_type_info _swigt__p_XEvent[] = {{"_p_XEvent", 0, "XEvent *", 0},{"_p_XEvent"},{0}};
 static swig_type_info _swigt__p_otk__Property[] = {{"_p_otk__Property", 0, "otk::Property *", 0},{"_p_otk__Property"},{0}};
 static swig_type_info _swigt__p_PyObject[] = {{"_p_PyObject", 0, "PyObject *", 0},{"_p_PyObject"},{0}};
 static swig_type_info _swigt__p_otk__ScreenInfo[] = {{"_p_otk__ScreenInfo", 0, "otk::ScreenInfo *", 0},{"_p_otk__ScreenInfo"},{0}};
+static swig_type_info _swigt__p_otk__RenderStyle[] = {{"_p_otk__RenderStyle", 0, "otk::RenderStyle *", 0},{"_p_otk__RenderStyle"},{0}};
 static swig_type_info _swigt__p_ob__EventData[] = {{"_p_ob__EventData", 0, "ob::EventData *", 0},{"_p_ob__EventData"},{0}};
 static swig_type_info _swigt__p_XCreateWindowEvent[] = {{"_p_XCreateWindowEvent", 0, "XCreateWindowEvent *", 0},{"_p_XCreateWindowEvent"},{0}};
 static swig_type_info _swigt__p_XDestroyWindowEvent[] = {{"_p_XDestroyWindowEvent", 0, "XDestroyWindowEvent *", 0},{"_p_XDestroyWindowEvent"},{0}};
 static swig_type_info _swigt__p_otk__Property__StringVect[] = {{"_p_otk__Property__StringVect", 0, "otk::Property::StringVect *", 0},{"_p_otk__Property__StringVect"},{0}};
-static swig_type_info _swigt__p_ob__WidgetBase[] = {{"_p_ob__WidgetBase", 0, "ob::WidgetBase *", 0},{"_p_ob__WidgetBase"},{"_p_ob__Client", _p_ob__ClientTo_p_ob__WidgetBase},{"_p_ob__Screen", _p_ob__ScreenTo_p_ob__WidgetBase},{0}};
+static swig_type_info _swigt__p_ob__WidgetBase[] = {{"_p_ob__WidgetBase", 0, "ob::WidgetBase *", 0},{"_p_ob__WidgetBase"},{"_p_ob__Client", _p_ob__ClientTo_p_ob__WidgetBase},{"_p_ob__Frame", _p_ob__FrameTo_p_ob__WidgetBase},{"_p_ob__Screen", _p_ob__ScreenTo_p_ob__WidgetBase},{0}};
+static swig_type_info _swigt__p_otk__Atoms[] = {{"_p_otk__Atoms", 0, "otk::Atoms *", 0},{"_p_otk__Atoms"},{0}};
 static swig_type_info _swigt__p_XKeyEvent[] = {{"_p_XKeyEvent", 0, "XKeyEvent *", 0},{"_p_XKeyEvent"},{0}};
+static swig_type_info _swigt__p_int[] = {{"_p_int", 0, "int *", 0},{"_p_int"},{0}};
 static swig_type_info _swigt__p_otk__Strut[] = {{"_p_otk__Strut", 0, "otk::Strut *", 0},{"_p_otk__Strut"},{0}};
-static swig_type_info _swigt__p_unsigned_long[] = {{"_p_unsigned_long", 0, "unsigned long *", 0},{"_p_unsigned_long"},{0}};
 static swig_type_info _swigt__p_p_unsigned_long[] = {{"_p_p_unsigned_long", 0, "unsigned long **", 0},{"_p_p_unsigned_long"},{0}};
+static swig_type_info _swigt__p_unsigned_long[] = {{"_p_unsigned_long", 0, "unsigned long *", 0},{"_p_unsigned_long"},{0}};
 static swig_type_info _swigt__p_XMotionEvent[] = {{"_p_XMotionEvent", 0, "XMotionEvent *", 0},{"_p_XMotionEvent"},{0}};
 static swig_type_info _swigt__p_XButtonEvent[] = {{"_p_XButtonEvent", 0, "XButtonEvent *", 0},{"_p_XButtonEvent"},{0}};
 static swig_type_info _swigt__p_XSelectionEvent[] = {{"_p_XSelectionEvent", 0, "XSelectionEvent *", 0},{"_p_XSelectionEvent"},{0}};
@@ -8359,13 +11975,13 @@ _swigt__p_XVisibilityEvent,
 _swigt__p_XPropertyEvent, 
 _swigt__p_XSelectionRequestEvent, 
 _swigt__p_ob__Cursors, 
-_swigt__p_otk__ImageControl, 
+_swigt__p_otk__RenderControl, 
 _swigt__p_ob__MwmHints, 
 _swigt__p_ob__Screen, 
 _swigt__p_ob__Frame, 
 _swigt__p_ob__KeyData, 
-_swigt__p_XConfigureEvent, 
 _swigt__p_XCirculateEvent, 
+_swigt__p_XConfigureEvent, 
 _swigt__p_XRectangle, 
 _swigt__p_otk__ustring, 
 _swigt__p_std__string, 
@@ -8373,7 +11989,6 @@ _swigt__p_XCrossingEvent,
 _swigt__p_otk__Display, 
 _swigt__p_Display, 
 _swigt__p_XMappingEvent, 
-_swigt__p_otk__Style, 
 _swigt__p_otk__EventHandler, 
 _swigt__p_XReparentEvent, 
 _swigt__p_otk__EventDispatcher, 
@@ -8381,19 +11996,23 @@ _swigt__p_otk__GCCache,
 _swigt__p_ob__Bindings, 
 _swigt__p_ob__Openbox, 
 _swigt__p_ob__Actions, 
+_swigt__p_otk__Widget, 
 _swigt__p_XEvent, 
 _swigt__p_otk__Property, 
 _swigt__p_PyObject, 
 _swigt__p_otk__ScreenInfo, 
+_swigt__p_otk__RenderStyle, 
 _swigt__p_ob__EventData, 
 _swigt__p_XCreateWindowEvent, 
 _swigt__p_XDestroyWindowEvent, 
 _swigt__p_otk__Property__StringVect, 
 _swigt__p_ob__WidgetBase, 
+_swigt__p_otk__Atoms, 
 _swigt__p_XKeyEvent, 
+_swigt__p_int, 
 _swigt__p_otk__Strut, 
-_swigt__p_unsigned_long, 
 _swigt__p_p_unsigned_long, 
+_swigt__p_unsigned_long, 
 _swigt__p_XMotionEvent, 
 _swigt__p_XButtonEvent, 
 _swigt__p_XSelectionEvent, 
@@ -8404,98 +12023,6 @@ _swigt__p_XSelectionEvent,
 /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */
 
 static swig_const_info swig_const_table[] = {
-{ SWIG_PY_INT,     (char *)"Property_Atom_Cardinal", (long) otk::Property::Atom_Cardinal, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_Atom_Window", (long) otk::Property::Atom_Window, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_Atom_Pixmap", (long) otk::Property::Atom_Pixmap, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_Atom_Atom", (long) otk::Property::Atom_Atom, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_Atom_String", (long) otk::Property::Atom_String, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_Atom_Utf8", (long) otk::Property::Atom_Utf8, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_openbox_pid", (long) otk::Property::openbox_pid, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_colormap_windows", (long) otk::Property::wm_colormap_windows, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_protocols", (long) otk::Property::wm_protocols, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_state", (long) otk::Property::wm_state, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_delete_window", (long) otk::Property::wm_delete_window, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_take_focus", (long) otk::Property::wm_take_focus, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_change_state", (long) otk::Property::wm_change_state, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_name", (long) otk::Property::wm_name, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_icon_name", (long) otk::Property::wm_icon_name, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_class", (long) otk::Property::wm_class, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_wm_window_role", (long) otk::Property::wm_window_role, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_motif_wm_hints", (long) otk::Property::motif_wm_hints, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_attributes", (long) otk::Property::blackbox_attributes, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_change_attributes", (long) otk::Property::blackbox_change_attributes, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_hints", (long) otk::Property::blackbox_hints, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_structure_messages", (long) otk::Property::blackbox_structure_messages, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_startup", (long) otk::Property::blackbox_notify_startup, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_window_add", (long) otk::Property::blackbox_notify_window_add, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_window_del", (long) otk::Property::blackbox_notify_window_del, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_window_focus", (long) otk::Property::blackbox_notify_window_focus, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_current_workspace", (long) otk::Property::blackbox_notify_current_workspace, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_workspace_count", (long) otk::Property::blackbox_notify_workspace_count, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_window_raise", (long) otk::Property::blackbox_notify_window_raise, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_notify_window_lower", (long) otk::Property::blackbox_notify_window_lower, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_change_workspace", (long) otk::Property::blackbox_change_workspace, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_change_window_focus", (long) otk::Property::blackbox_change_window_focus, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_blackbox_cycle_window_focus", (long) otk::Property::blackbox_cycle_window_focus, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_openbox_show_root_menu", (long) otk::Property::openbox_show_root_menu, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_openbox_show_workspace_menu", (long) otk::Property::openbox_show_workspace_menu, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_supported", (long) otk::Property::net_supported, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_client_list", (long) otk::Property::net_client_list, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_client_list_stacking", (long) otk::Property::net_client_list_stacking, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_number_of_desktops", (long) otk::Property::net_number_of_desktops, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_desktop_geometry", (long) otk::Property::net_desktop_geometry, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_desktop_viewport", (long) otk::Property::net_desktop_viewport, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_current_desktop", (long) otk::Property::net_current_desktop, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_desktop_names", (long) otk::Property::net_desktop_names, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_active_window", (long) otk::Property::net_active_window, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_workarea", (long) otk::Property::net_workarea, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_supporting_wm_check", (long) otk::Property::net_supporting_wm_check, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_close_window", (long) otk::Property::net_close_window, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_moveresize", (long) otk::Property::net_wm_moveresize, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_name", (long) otk::Property::net_wm_name, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_visible_name", (long) otk::Property::net_wm_visible_name, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_icon_name", (long) otk::Property::net_wm_icon_name, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_visible_icon_name", (long) otk::Property::net_wm_visible_icon_name, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_desktop", (long) otk::Property::net_wm_desktop, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type", (long) otk::Property::net_wm_window_type, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state", (long) otk::Property::net_wm_state, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_strut", (long) otk::Property::net_wm_strut, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_allowed_actions", (long) otk::Property::net_wm_allowed_actions, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_desktop", (long) otk::Property::net_wm_window_type_desktop, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_dock", (long) otk::Property::net_wm_window_type_dock, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_toolbar", (long) otk::Property::net_wm_window_type_toolbar, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_menu", (long) otk::Property::net_wm_window_type_menu, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_utility", (long) otk::Property::net_wm_window_type_utility, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_splash", (long) otk::Property::net_wm_window_type_splash, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_dialog", (long) otk::Property::net_wm_window_type_dialog, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_window_type_normal", (long) otk::Property::net_wm_window_type_normal, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_moveresize_size_topleft", (long) otk::Property::net_wm_moveresize_size_topleft, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_moveresize_size_topright", (long) otk::Property::net_wm_moveresize_size_topright, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_moveresize_size_bottomleft", (long) otk::Property::net_wm_moveresize_size_bottomleft, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_moveresize_size_bottomright", (long) otk::Property::net_wm_moveresize_size_bottomright, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_moveresize_move", (long) otk::Property::net_wm_moveresize_move, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_action_move", (long) otk::Property::net_wm_action_move, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_action_resize", (long) otk::Property::net_wm_action_resize, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_action_shade", (long) otk::Property::net_wm_action_shade, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_action_maximize_horz", (long) otk::Property::net_wm_action_maximize_horz, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_action_maximize_vert", (long) otk::Property::net_wm_action_maximize_vert, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_action_change_desktop", (long) otk::Property::net_wm_action_change_desktop, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_action_close", (long) otk::Property::net_wm_action_close, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_modal", (long) otk::Property::net_wm_state_modal, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_sticky", (long) otk::Property::net_wm_state_sticky, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_maximized_vert", (long) otk::Property::net_wm_state_maximized_vert, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_maximized_horz", (long) otk::Property::net_wm_state_maximized_horz, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_shaded", (long) otk::Property::net_wm_state_shaded, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_skip_taskbar", (long) otk::Property::net_wm_state_skip_taskbar, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_skip_pager", (long) otk::Property::net_wm_state_skip_pager, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_hidden", (long) otk::Property::net_wm_state_hidden, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_fullscreen", (long) otk::Property::net_wm_state_fullscreen, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_above", (long) otk::Property::net_wm_state_above, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_net_wm_state_below", (long) otk::Property::net_wm_state_below, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_kde_net_system_tray_windows", (long) otk::Property::kde_net_system_tray_windows, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_kde_net_wm_system_tray_window_for", (long) otk::Property::kde_net_wm_system_tray_window_for, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_kde_net_wm_window_type_override", (long) otk::Property::kde_net_wm_window_type_override, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Property_NUM_ATOMS", (long) otk::Property::NUM_ATOMS, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Property_ascii", (long) otk::Property::ascii, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Property_utf8", (long) otk::Property::utf8, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Property_NUM_STRING_TYPE", (long) otk::Property::NUM_STRING_TYPE, 0, 0, 0},
@@ -8542,19 +12069,23 @@ static swig_const_info swig_const_table[] = {
 { SWIG_PY_INT,     (char *)"Client_Func_Move", (long) ob::Client::Func_Move, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Func_Iconify", (long) ob::Client::Func_Iconify, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Func_Maximize", (long) ob::Client::Func_Maximize, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"Client_Func_Shade", (long) ob::Client::Func_Shade, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"Client_Func_Fullscreen", (long) ob::Client::Func_Fullscreen, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Func_Close", (long) ob::Client::Func_Close, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Decor_Titlebar", (long) ob::Client::Decor_Titlebar, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Decor_Handle", (long) ob::Client::Decor_Handle, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Decor_Border", (long) ob::Client::Decor_Border, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Decor_Iconify", (long) ob::Client::Decor_Iconify, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Decor_Maximize", (long) ob::Client::Decor_Maximize, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"Client_Decor_Sticky", (long) ob::Client::Decor_Sticky, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"Client_Decor_AllDesktops", (long) ob::Client::Decor_AllDesktops, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_Decor_Close", (long) ob::Client::Decor_Close, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_State_Remove", (long) ob::Client::State_Remove, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_State_Add", (long) ob::Client::State_Add, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_State_Toggle", (long) ob::Client::State_Toggle, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_event_mask", (long) ob::Client::event_mask, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"Client_no_propagate_mask", (long) ob::Client::no_propagate_mask, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"Client_ICONIC_DESKTOP", (long) ob::Client::ICONIC_DESKTOP, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"Frame_event_mask", (long) ob::Frame::event_mask, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_Frame", (long) ob::MC_Frame, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_Titlebar", (long) ob::MC_Titlebar, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_Handle", (long) ob::MC_Handle, 0, 0, 0},
@@ -8562,7 +12093,7 @@ static swig_const_info swig_const_table[] = {
 { SWIG_PY_INT,     (char *)"MC_MaximizeButton", (long) ob::MC_MaximizeButton, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_CloseButton", (long) ob::MC_CloseButton, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_IconifyButton", (long) ob::MC_IconifyButton, 0, 0, 0},
-{ SWIG_PY_INT,     (char *)"MC_StickyButton", (long) ob::MC_StickyButton, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"MC_AllDesktopsButton", (long) ob::MC_AllDesktopsButton, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_Grip", (long) ob::MC_Grip, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_Root", (long) ob::MC_Root, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"MC_MenuItem", (long) ob::MC_MenuItem, 0, 0, 0},
@@ -8582,6 +12113,7 @@ static swig_const_info swig_const_table[] = {
 { SWIG_PY_INT,     (char *)"EventCloseWindow", (long) ob::EventCloseWindow, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"EventStartup", (long) ob::EventStartup, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"EventShutdown", (long) ob::EventShutdown, 0, 0, 0},
+{ SWIG_PY_INT,     (char *)"EventKey", (long) ob::EventKey, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"EventFocus", (long) ob::EventFocus, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"EventBell", (long) ob::EventBell, 0, 0, 0},
 { SWIG_PY_INT,     (char *)"NUM_EVENTS", (long) ob::NUM_EVENTS, 0, 0, 0},
This page took 0.355465 seconds and 4 git commands to generate.