openbox/src/python_client.cc
2002-12-20 15:38:49 +00:00

60 lines
1.1 KiB
C++

// -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#ifdef HAVE_CONFIG_H
# include "../config.h"
#endif
#include "python_client.hh"
#include "openbox.hh"
namespace ob {
extern "C" {
PyObject *getWindow(PyObject* self, PyObject* args)
{
if (!PyArg_ParseTuple(args, ":getWindow"))
return NULL;
return PyLong_FromLong(((PyClientObject*)self)->client->window());
}
static PyMethodDef attr_methods[] = {
{"getWindow", (PyCFunction)getWindow, METH_VARARGS,
"Return the window id."},
{NULL, NULL, 0, NULL} /* sentinel */
};
static PyObject *getattr(PyObject *obj, char *name)
{
return Py_FindMethod(attr_methods, obj, name);
}
static void client_dealloc(PyObject* self)
{
PyObject_Del(self);
}
PyTypeObject PyClient_Type = {
PyObject_HEAD_INIT(NULL)
0,
"Client",
sizeof(PyClientObject),
0,
client_dealloc, /*tp_dealloc*/
0, /*tp_print*/
getattr, /*tp_getattr*/
0, /*tp_setattr*/
0, /*tp_compare*/
0, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash */
};
}
}