clone 338090 -1
reassign -1 python-gtk2-dev 2.8.0-1
retitle -1 pygtk-codegen-2.0 from 2.8's pygtk generates code incompatible with
python 2.3
severity -1 important
thanks
Hi,
On Mon, Nov 07, 2005, Manish Singh wrote:
> Due to a bug upstream (http://bugzilla.gnome.org/show_bug.cgi?id=320931)
> a python/vte.c generated for pygtk 2.8 is distributed with the tarball.
> Since the date is newer than the other source files, it's not
> regenerated, and the resultant binary does not work
Thanks for your report, I've already forwarded a couple of reports on
this matter upstream, namely Debian bugs #334001 and #334668, and this
is discussed at:
<http://bugzilla.gnome.org/show_bug.cgi?id=313454>
I noted that this is specific to Python 2.3, and rebuilding python-vte
with Python 2.4 will make it import like a charm.
If I understand you correctly, python/vte.c is generated automatically
(it seems via pygtk-codegen-2.0) and the resulting code is not suitable
for Python 2.3. This seems to imply that this script has to be
carefully split out in a python 2.3 and a python 2.4 version, or get
some flags added to run in 2.3 compatibility mode.
Hence, I removed vte.c and ran in a clean sid chroot (with pygtk
2.6.3-2):
bee% pygtk-codegen-2.0 -p pyvte -o vte.override --register
/usr/share/pygtk/2.0/defs/gtk-types.defs --register
/usr/share/pygtk/2.0/defs/gdk-types.defs --register
/usr/share/pygtk/2.0/defs/pango-types.defs vte.defs vte.override >
vte.c
Could not write method VteTerminal.forkpty: No ArgType for 'char**'
Could not write method VteTerminal.match_check: No ArgType for 'int*'
***INFO*** The coverage of global functions is 100.00% (3/3)
***INFO*** The coverage of methods is 97.26% (71/73)
***INFO*** There are no declared virtual proxies.
***INFO*** There are no declared virtual accessors.
***INFO*** There are no declared interface proxies.
and the result is the attached vte.c file which has only minor
modifications beside this one:
@@ -1548,7 +1546,6 @@
}
-#line 1552 "vte.c"
+#line 1550 "vte.c"
pygobject_register_class(d, "VteTerminal", VTE_TYPE_TERMINAL,
&PyVteTerminal_Type, Py_BuildValue("(O)", &PyGtkWidget_Type));
- pyg_set_object_has_new_constructor(VTE_TYPE_TERMINAL);
}
... which suggest the problem will be fixed.
Do you have any suggestion on fixing the root problem (ie.
pygtk-codegen-2.0)?
Should all packages be examined against this problem?
Cheers,
--
Loïc Minier <[EMAIL PROTECTED]>
/* -- THIS FILE IS GENERATED - DO NOT EDIT *//* -*- Mode: C; c-basic-offset: 4 -*- */
#include <Python.h>
#line 4 "vte.override"
#include <Python.h>
#include <pygtk/pygtk.h>
#include <pygobject.h>
#include <gtk/gtk.h>
#include "../src/vte.h"
#line 14 "vte.c"
/* ---------- types from other modules ---------- */
static PyTypeObject *_PyGdkPixbuf_Type;
#define PyGdkPixbuf_Type (*_PyGdkPixbuf_Type)
static PyTypeObject *_PyGtkMenuShell_Type;
#define PyGtkMenuShell_Type (*_PyGtkMenuShell_Type)
static PyTypeObject *_PyGtkWidget_Type;
#define PyGtkWidget_Type (*_PyGtkWidget_Type)
/* ---------- forward type declarations ---------- */
PyTypeObject PyVteTerminal_Type;
/* ----------- VteTerminal ----------- */
static int
_wrap_vte_terminal_new(PyGObject *self, PyObject *args, PyObject *kwargs)
{
GType obj_type = pyg_type_from_object((PyObject *) self);
static char* kwlist[] = { NULL };
if (!PyArg_ParseTupleAndKeywords(args, kwargs, ":vte.Terminal.__init__", kwlist))
return -1;
self->obj = g_object_newv(obj_type, 0, NULL);
if (!self->obj) {
PyErr_SetString(PyExc_RuntimeError, "could not create %(typename)s object");
return -1;
}
pygobject_register_wrapper((PyObject *)self);
return 0;
}
#line 75 "vte.override"
static PyObject *
_wrap_vte_terminal_fork_command(PyGObject * self, PyObject * args,
PyObject * kwargs)
{
gchar **argv = NULL, **envv = NULL;
gchar *command = NULL, *directory = NULL;
static char *kwlist[] = { "command", "argv", "envv", "directory",
"loglastlog", "logutmp", "logwtmp",
NULL };
PyObject *py_argv = NULL, *py_envv = NULL,
*loglastlog = NULL, *logutmp = NULL, *logwtmp = NULL;
int i, n_args, n_envs;
pid_t pid;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|sOOsOOO:fork_command",
kwlist, &command, &py_argv, &py_envv,
&directory,
&loglastlog, &logutmp, &logwtmp)) {
return NULL;
}
if (py_argv != NULL && py_argv != Py_None) {
if (!PySequence_Check(py_argv)) {
PyErr_SetString(PyExc_TypeError,
"argv must be a sequence");
return NULL;
}
n_args = PySequence_Length(py_argv);
argv = g_new(gchar *, n_args + 1);
for (i = 0; i < n_args; i++) {
PyObject *item = PySequence_GetItem(py_argv, i);
Py_DECREF(item); /* PySequence_GetItem INCREF's */
argv[i] = PyString_AsString(item);
}
argv[n_args] = NULL;
}
if (py_envv != NULL && py_envv != Py_None) {
if (!PySequence_Check(py_envv)) {
PyErr_SetString(PyExc_TypeError,
"envv must be a sequence");
return NULL;
}
n_envs = PySequence_Length(py_envv);
envv = g_new(gchar *, n_envs + 1);
for (i = 0; i < n_envs; i++) {
PyObject *item = PySequence_GetItem(py_envv, i);
Py_DECREF(item); /* PySequence_GetItem INCREF's */
envv[i] = PyString_AsString(item);
}
envv[n_envs] = NULL;
}
pid = vte_terminal_fork_command(VTE_TERMINAL(self->obj),
command, argv, envv, directory,
(loglastlog != NULL) &&
PyObject_IsTrue(loglastlog),
(logutmp != NULL) &&
PyObject_IsTrue(logutmp),
(logwtmp != NULL) &&
PyObject_IsTrue(logwtmp));
if (envv) {
g_free(envv);
}
if (argv) {
g_free(argv);
}
return PyInt_FromLong(pid);
}
#line 129 "vte.c"
#line 17 "vte.override"
static PyObject *
_wrap_vte_terminal_feed(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "data", "length", NULL };
char *data;
int length;
PyObject *length_obj = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
"s#|O:VteTerminal.feed",
kwlist, &data, &length, &length_obj)) {
return NULL;
}
if ((length_obj != NULL) && PyNumber_Check(length_obj)) {
PyObject *intobj;
intobj = PyNumber_Int(length_obj);
if (intobj) {
if (PyInt_AsLong(intobj) != -1) {
length = PyInt_AsLong(intobj);
}
Py_DECREF(intobj);
}
}
vte_terminal_feed(VTE_TERMINAL(self->obj), data, length);
Py_INCREF(Py_None);
return Py_None;
}
#line 160 "vte.c"
#line 46 "vte.override"
static PyObject *
_wrap_vte_terminal_feed_child(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "data", "length", NULL };
char *data;
int length;
PyObject *length_obj = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
"s#|O:VteTerminal.feed_child",
kwlist, &data, &length, &length_obj)) {
return NULL;
}
if ((length_obj != NULL) && PyNumber_Check(length_obj)) {
PyObject *intobj;
intobj = PyNumber_Int(length_obj);
if (intobj) {
if (PyInt_AsLong(intobj) != -1) {
length = PyInt_AsLong(intobj);
}
Py_DECREF(intobj);
}
}
vte_terminal_feed_child(VTE_TERMINAL(self->obj), data, length);
Py_INCREF(Py_None);
return Py_None;
}
#line 191 "vte.c"
static PyObject *
_wrap_vte_terminal_copy_clipboard(PyGObject *self)
{
vte_terminal_copy_clipboard(VTE_TERMINAL(self->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_paste_clipboard(PyGObject *self)
{
vte_terminal_paste_clipboard(VTE_TERMINAL(self->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_copy_primary(PyGObject *self)
{
vte_terminal_copy_primary(VTE_TERMINAL(self->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_paste_primary(PyGObject *self)
{
vte_terminal_paste_primary(VTE_TERMINAL(self->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_size(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "columns", "rows", NULL };
glong columns, rows;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ll:VteTerminal.set_size", kwlist, &columns, &rows))
return NULL;
vte_terminal_set_size(VTE_TERMINAL(self->obj), columns, rows);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_audible_bell(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "is_audible", NULL };
int is_audible;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_audible_bell", kwlist, &is_audible))
return NULL;
vte_terminal_set_audible_bell(VTE_TERMINAL(self->obj), is_audible);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_audible_bell(PyGObject *self)
{
int ret;
ret = vte_terminal_get_audible_bell(VTE_TERMINAL(self->obj));
return PyBool_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_set_visible_bell(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "is_visible", NULL };
int is_visible;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_visible_bell", kwlist, &is_visible))
return NULL;
vte_terminal_set_visible_bell(VTE_TERMINAL(self->obj), is_visible);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_visible_bell(PyGObject *self)
{
int ret;
ret = vte_terminal_get_visible_bell(VTE_TERMINAL(self->obj));
return PyBool_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_set_scroll_background(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "scroll", NULL };
int scroll;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_scroll_background", kwlist, &scroll))
return NULL;
vte_terminal_set_scroll_background(VTE_TERMINAL(self->obj), scroll);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_scroll_on_output(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "scroll", NULL };
int scroll;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_scroll_on_output", kwlist, &scroll))
return NULL;
vte_terminal_set_scroll_on_output(VTE_TERMINAL(self->obj), scroll);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_scroll_on_keystroke(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "scroll", NULL };
int scroll;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_scroll_on_keystroke", kwlist, &scroll))
return NULL;
vte_terminal_set_scroll_on_keystroke(VTE_TERMINAL(self->obj), scroll);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_color_dim(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "dim", NULL };
PyObject *py_dim;
GdkColor *dim = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_color_dim", kwlist, &py_dim))
return NULL;
if (pyg_boxed_check(py_dim, GDK_TYPE_COLOR))
dim = pyg_boxed_get(py_dim, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "dim should be a GdkColor");
return NULL;
}
vte_terminal_set_color_dim(VTE_TERMINAL(self->obj), dim);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_color_bold(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "bold", NULL };
PyObject *py_bold;
GdkColor *bold = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_color_bold", kwlist, &py_bold))
return NULL;
if (pyg_boxed_check(py_bold, GDK_TYPE_COLOR))
bold = pyg_boxed_get(py_bold, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "bold should be a GdkColor");
return NULL;
}
vte_terminal_set_color_bold(VTE_TERMINAL(self->obj), bold);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_color_foreground(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "foreground", NULL };
PyObject *py_foreground;
GdkColor *foreground = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_color_foreground", kwlist, &py_foreground))
return NULL;
if (pyg_boxed_check(py_foreground, GDK_TYPE_COLOR))
foreground = pyg_boxed_get(py_foreground, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "foreground should be a GdkColor");
return NULL;
}
vte_terminal_set_color_foreground(VTE_TERMINAL(self->obj), foreground);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_color_background(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "background", NULL };
PyObject *py_background;
GdkColor *background = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_color_background", kwlist, &py_background))
return NULL;
if (pyg_boxed_check(py_background, GDK_TYPE_COLOR))
background = pyg_boxed_get(py_background, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "background should be a GdkColor");
return NULL;
}
vte_terminal_set_color_background(VTE_TERMINAL(self->obj), background);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_color_cursor(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "cursor_background", NULL };
PyObject *py_cursor_background;
GdkColor *cursor_background = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_color_cursor", kwlist, &py_cursor_background))
return NULL;
if (pyg_boxed_check(py_cursor_background, GDK_TYPE_COLOR))
cursor_background = pyg_boxed_get(py_cursor_background, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "cursor_background should be a GdkColor");
return NULL;
}
vte_terminal_set_color_cursor(VTE_TERMINAL(self->obj), cursor_background);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_color_highlight(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "highlight_background", NULL };
PyObject *py_highlight_background;
GdkColor *highlight_background = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_color_highlight", kwlist, &py_highlight_background))
return NULL;
if (pyg_boxed_check(py_highlight_background, GDK_TYPE_COLOR))
highlight_background = pyg_boxed_get(py_highlight_background, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "highlight_background should be a GdkColor");
return NULL;
}
vte_terminal_set_color_highlight(VTE_TERMINAL(self->obj), highlight_background);
Py_INCREF(Py_None);
return Py_None;
}
#line 461 "vte.override"
static PyObject *
_wrap_vte_terminal_set_colors(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "foreground", "background", "palette", NULL };
PyObject *py_foreground, *py_background, *py_palette, *item;
int palette_size, i;
GdkColor *foreground = NULL, *background = NULL, *palette = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OOO:VteTerminal.set_colors", kwlist, &py_foreground, &py_background, &py_palette, &palette_size))
return NULL;
if (pyg_boxed_check(py_foreground, GDK_TYPE_COLOR))
foreground = pyg_boxed_get(py_foreground, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "foreground should be a GdkColor");
return NULL;
}
if (pyg_boxed_check(py_background, GDK_TYPE_COLOR))
background = pyg_boxed_get(py_background, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "background should be a GdkColor");
return NULL;
}
if (PySequence_Check(py_palette)) {
palette_size = PySequence_Length(py_palette);
palette = g_malloc(sizeof(GdkColor) * palette_size);
for (i = 0; i < palette_size; i++) {
item = PySequence_GetItem(py_palette, i); /* INCREFs */
if (!pyg_boxed_check(item, GDK_TYPE_COLOR)) {
g_free(palette);
PyErr_SetString(PyExc_TypeError, "palette should be a list of GdkColors");
return NULL;
}
palette[i] = *((GdkColor*)pyg_boxed_get(item, GdkColor));
Py_DECREF(item);
}
} else {
PyErr_SetString(PyExc_TypeError, "palette should be a list of GdkColors");
return NULL;
}
vte_terminal_set_colors(VTE_TERMINAL(self->obj), foreground, background, palette, palette_size);
g_free(palette);
Py_INCREF(Py_None);
return Py_None;
}
#line 489 "vte.c"
static PyObject *
_wrap_vte_terminal_set_default_colors(PyGObject *self)
{
vte_terminal_set_default_colors(VTE_TERMINAL(self->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_background_image(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "image", NULL };
PyGObject *image;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:VteTerminal.set_background_image", kwlist, &PyGdkPixbuf_Type, &image))
return NULL;
vte_terminal_set_background_image(VTE_TERMINAL(self->obj), GDK_PIXBUF(image->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_background_image_file(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "path", NULL };
char *path;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:VteTerminal.set_background_image_file", kwlist, &path))
return NULL;
vte_terminal_set_background_image_file(VTE_TERMINAL(self->obj), path);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_background_tint_color(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "color", NULL };
PyObject *py_color;
GdkColor *color = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_background_tint_color", kwlist, &py_color))
return NULL;
if (pyg_boxed_check(py_color, GDK_TYPE_COLOR))
color = pyg_boxed_get(py_color, GdkColor);
else {
PyErr_SetString(PyExc_TypeError, "color should be a GdkColor");
return NULL;
}
vte_terminal_set_background_tint_color(VTE_TERMINAL(self->obj), color);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_background_saturation(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "saturation", NULL };
double saturation;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "d:VteTerminal.set_background_saturation", kwlist, &saturation))
return NULL;
vte_terminal_set_background_saturation(VTE_TERMINAL(self->obj), saturation);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_background_transparent(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "transparent", NULL };
int transparent;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_background_transparent", kwlist, &transparent))
return NULL;
vte_terminal_set_background_transparent(VTE_TERMINAL(self->obj), transparent);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_cursor_blinks(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "blink", NULL };
int blink;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_cursor_blinks", kwlist, &blink))
return NULL;
vte_terminal_set_cursor_blinks(VTE_TERMINAL(self->obj), blink);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_scrollback_lines(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "lines", NULL };
glong lines;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "l:VteTerminal.set_scrollback_lines", kwlist, &lines))
return NULL;
vte_terminal_set_scrollback_lines(VTE_TERMINAL(self->obj), lines);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_im_append_menuitems(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "menushell", NULL };
PyGObject *menushell;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!:VteTerminal.im_append_menuitems", kwlist, &PyGtkMenuShell_Type, &menushell))
return NULL;
vte_terminal_im_append_menuitems(VTE_TERMINAL(self->obj), GTK_MENU_SHELL(menushell->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_font(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "font_desc", NULL };
PyObject *py_font_desc;
PangoFontDescription *font_desc = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_font", kwlist, &py_font_desc))
return NULL;
if (pyg_boxed_check(py_font_desc, PANGO_TYPE_FONT_DESCRIPTION))
font_desc = pyg_boxed_get(py_font_desc, PangoFontDescription);
else {
PyErr_SetString(PyExc_TypeError, "font_desc should be a PangoFontDescription");
return NULL;
}
vte_terminal_set_font(VTE_TERMINAL(self->obj), font_desc);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_font_full(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "font_desc", "antialias", NULL };
PyObject *py_font_desc, *py_antialias = NULL;
PangoFontDescription *font_desc = NULL;
VteTerminalAntiAlias antialias;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "OO:VteTerminal.set_font_full", kwlist, &py_font_desc, &py_antialias))
return NULL;
if (pyg_boxed_check(py_font_desc, PANGO_TYPE_FONT_DESCRIPTION))
font_desc = pyg_boxed_get(py_font_desc, PangoFontDescription);
else {
PyErr_SetString(PyExc_TypeError, "font_desc should be a PangoFontDescription");
return NULL;
}
if (pyg_enum_get_value(VTE_TYPE_TERMINAL_ANTI_ALIAS, py_antialias, (gint *)&antialias))
return NULL;
vte_terminal_set_font_full(VTE_TERMINAL(self->obj), font_desc, antialias);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_font_from_string(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "name", NULL };
char *name;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:VteTerminal.set_font_from_string", kwlist, &name))
return NULL;
vte_terminal_set_font_from_string(VTE_TERMINAL(self->obj), name);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_font_from_string_full(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "name", "antialias", NULL };
char *name;
PyObject *py_antialias = NULL;
VteTerminalAntiAlias antialias;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "sO:VteTerminal.set_font_from_string_full", kwlist, &name, &py_antialias))
return NULL;
if (pyg_enum_get_value(VTE_TYPE_TERMINAL_ANTI_ALIAS, py_antialias, (gint *)&antialias))
return NULL;
vte_terminal_set_font_from_string_full(VTE_TERMINAL(self->obj), name, antialias);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_font(PyGObject *self)
{
PangoFontDescription *ret;
ret = vte_terminal_get_font(VTE_TERMINAL(self->obj));
/* pyg_boxed_new handles NULL checking */
return pyg_boxed_new(PANGO_TYPE_FONT_DESCRIPTION, ret, TRUE, TRUE);
}
static PyObject *
_wrap_vte_terminal_get_using_xft(PyGObject *self)
{
int ret;
ret = vte_terminal_get_using_xft(VTE_TERMINAL(self->obj));
return PyBool_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_set_allow_bold(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "allow_bold", NULL };
int allow_bold;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_allow_bold", kwlist, &allow_bold))
return NULL;
vte_terminal_set_allow_bold(VTE_TERMINAL(self->obj), allow_bold);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_allow_bold(PyGObject *self)
{
int ret;
ret = vte_terminal_get_allow_bold(VTE_TERMINAL(self->obj));
return PyBool_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_get_has_selection(PyGObject *self)
{
int ret;
ret = vte_terminal_get_has_selection(VTE_TERMINAL(self->obj));
return PyBool_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_set_word_chars(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "spec", NULL };
char *spec;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:VteTerminal.set_word_chars", kwlist, &spec))
return NULL;
vte_terminal_set_word_chars(VTE_TERMINAL(self->obj), spec);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_is_word_char(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "c", NULL };
int ret;
gunichar c;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&:VteTerminal.is_word_char", kwlist, pyg_pyobj_to_unichar_conv, &c))
return NULL;
ret = vte_terminal_is_word_char(VTE_TERMINAL(self->obj), c);
return PyBool_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_set_backspace_binding(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "binding", NULL };
PyObject *py_binding = NULL;
VteTerminalEraseBinding binding;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_backspace_binding", kwlist, &py_binding))
return NULL;
if (pyg_enum_get_value(VTE_TYPE_TERMINAL_ERASE_BINDING, py_binding, (gint *)&binding))
return NULL;
vte_terminal_set_backspace_binding(VTE_TERMINAL(self->obj), binding);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_delete_binding(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "binding", NULL };
PyObject *py_binding = NULL;
VteTerminalEraseBinding binding;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O:VteTerminal.set_delete_binding", kwlist, &py_binding))
return NULL;
if (pyg_enum_get_value(VTE_TYPE_TERMINAL_ERASE_BINDING, py_binding, (gint *)&binding))
return NULL;
vte_terminal_set_delete_binding(VTE_TERMINAL(self->obj), binding);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_mouse_autohide(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "setting", NULL };
int setting;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.set_mouse_autohide", kwlist, &setting))
return NULL;
vte_terminal_set_mouse_autohide(VTE_TERMINAL(self->obj), setting);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_mouse_autohide(PyGObject *self)
{
int ret;
ret = vte_terminal_get_mouse_autohide(VTE_TERMINAL(self->obj));
return PyBool_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_reset(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "full", "clear_history", NULL };
int full, clear_history;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii:VteTerminal.reset", kwlist, &full, &clear_history))
return NULL;
vte_terminal_reset(VTE_TERMINAL(self->obj), full, clear_history);
Py_INCREF(Py_None);
return Py_None;
}
#line 235 "vte.override"
static gboolean
call_callback(VteTerminal *terminal, glong column, glong row, gpointer data)
{
PyObject *cb, *args, *result;
gboolean ret;
if (!PySequence_Check(data)) {
PyErr_SetString(PyExc_TypeError, "expected argument list in a tuple");
return FALSE;
}
cb = PySequence_GetItem(data, 0); /* INCREFs */
Py_XDECREF(cb);
if (!PyCallable_Check(cb)) {
PyErr_SetString(PyExc_TypeError, "callback is not a callable object");
return FALSE;
}
args = PyTuple_New(4);
PyTuple_SetItem(args, 0, PySequence_GetItem(data, 1));
PyTuple_SetItem(args, 1, PyInt_FromLong(column));
PyTuple_SetItem(args, 2, PyInt_FromLong(row));
PyTuple_SetItem(args, 3, PySequence_GetItem(data, 2));
result = PyObject_CallObject(cb, args);
Py_DECREF(args);
ret = (result && PyObject_IsTrue(result));
Py_XDECREF(result);
return ret;
}
static gboolean
always_true(VteTerminal *terminal, glong row, glong column, gpointer data)
{
return TRUE;
}
static PyObject *
_wrap_vte_terminal_get_text(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "callback", "get_attributes", "data", NULL };
PyObject *callback = NULL, *do_attr = NULL, *data = NULL;
PyObject *callback_and_args = NULL;
GArray *attrs = NULL;
char *text;
PyObject *py_attrs;
int count;
long length;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|OO:terminal_get_text",
kwlist, &callback, &do_attr, &data)) {
return NULL;
}
if ((do_attr != NULL) && (PyObject_IsTrue(do_attr))) {
attrs = g_array_new(FALSE, TRUE, sizeof(VteCharAttributes));
} else {
attrs = NULL;
}
if (callback != NULL) {
if (!PyCallable_Check(callback)) {
PyErr_SetString(PyExc_TypeError, "1st argument not callable.");
if (attrs) {
g_array_free(attrs, TRUE);
}
return NULL;
}
callback_and_args = PyTuple_New(3);
Py_INCREF(callback); /* PyTuple_SetItem will assume ownership. */
PyTuple_SetItem(callback_and_args, 0, callback);
Py_INCREF(self); /* PyTuple_SetItem will assume ownership. */
PyTuple_SetItem(callback_and_args, 1, (PyObject*) self);
if (data != NULL) {
Py_INCREF(data); /* PyTuple_SetItem will assume ownership. */
PyTuple_SetItem(callback_and_args, 2, data);
} else {
PyTuple_SetItem(callback_and_args, 2, PyTuple_New(0));
}
text = vte_terminal_get_text(VTE_TERMINAL(self->obj),
call_callback,
callback_and_args,
attrs);
Py_DECREF(callback_and_args);
} else {
text = vte_terminal_get_text(VTE_TERMINAL(self->obj),
always_true,
NULL,
attrs);
}
if (attrs) {
py_attrs = PyTuple_New(attrs->len);
for (count = 0; count < attrs->len; count++) {
VteCharAttributes *cht;
PyObject *py_char_attr;
PyObject *py_gdkcolor;
cht = &g_array_index(attrs, VteCharAttributes, count);
py_char_attr = PyDict_New();
PyDict_SetItemString(py_char_attr, "row", PyInt_FromLong(cht->row));
PyDict_SetItemString(py_char_attr, "column", PyInt_FromLong(cht->column));
py_gdkcolor = pyg_boxed_new(GDK_TYPE_COLOR, &cht->fore, TRUE, TRUE);
PyDict_SetItemString(py_char_attr, "fore", py_gdkcolor);
py_gdkcolor = pyg_boxed_new(GDK_TYPE_COLOR, &cht->back, TRUE, TRUE);
PyDict_SetItemString(py_char_attr, "back", py_gdkcolor);
PyDict_SetItemString(py_char_attr, "underline",
PyInt_FromLong(cht->underline));
PyDict_SetItemString(py_char_attr, "strikethrough",
PyInt_FromLong(cht->strikethrough));
PyTuple_SetItem(py_attrs, count, py_char_attr);
}
length = attrs->len;
g_array_free(attrs, TRUE);
return Py_BuildValue("(s#O)", text, length, py_attrs);
} else {
return Py_BuildValue("s", text);
}
}
#line 960 "vte.c"
#line 364 "vte.override"
static PyObject *
_wrap_vte_terminal_get_text_range(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "start_row", "start_col", "end_row", "end_col",
"callback", "get_attributes", "data", NULL };
PyObject *callback = NULL, *do_attr = NULL, *data = NULL;
glong start_row, start_col, end_row, end_col;
PyObject *callback_and_args = NULL;
GArray *attrs = NULL;
char *text;
PyObject *py_attrs;
int count;
long length;
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
"llllO|OO:terminal_get_text_range",
kwlist,
&start_row, &start_col, &end_row, &end_col,
&callback, &do_attr, &data)) {
return NULL;
}
if ((do_attr != NULL) && (PyObject_IsTrue(do_attr))) {
attrs = g_array_new(FALSE, TRUE, sizeof(VteCharAttributes));
} else {
attrs = NULL;
}
if (callback != NULL) {
if (!PyCallable_Check(callback)) {
PyErr_SetString(PyExc_TypeError, "1st argument not callable.");
if (attrs) {
g_array_free(attrs, TRUE);
}
return NULL;
}
callback_and_args = PyTuple_New(3);
Py_INCREF(callback); /* PyTuple_SetItem will assume ownership. */
PyTuple_SetItem(callback_and_args, 0, callback);
Py_INCREF(self); /* PyTuple_SetItem will assume ownership. */
PyTuple_SetItem(callback_and_args, 1, (PyObject*) self);
if (data != NULL) {
Py_INCREF(data); /* PyTuple_SetItem will assume ownership. */
PyTuple_SetItem(callback_and_args, 2, data);
} else {
PyTuple_SetItem(callback_and_args, 2, PyTuple_New(0));
}
text = vte_terminal_get_text_range(VTE_TERMINAL(self->obj),
start_row, start_col,
end_row, end_col,
call_callback,
callback_and_args,
attrs);
Py_DECREF(callback_and_args);
} else {
text = vte_terminal_get_text_range(VTE_TERMINAL(self->obj),
start_row, start_col,
end_row, end_col,
always_true,
NULL,
attrs);
}
if (attrs) {
py_attrs = PyTuple_New(attrs->len);
for (count = 0; count < attrs->len; count++) {
VteCharAttributes *cht;
PyObject *py_char_attr;
PyObject *py_gdkcolor;
cht = &g_array_index(attrs, VteCharAttributes, count);
py_char_attr = PyDict_New();
PyDict_SetItemString(py_char_attr, "row", PyInt_FromLong(cht->row));
PyDict_SetItemString(py_char_attr, "column", PyInt_FromLong(cht->column));
py_gdkcolor = pyg_boxed_new(GDK_TYPE_COLOR, &cht->fore, TRUE, TRUE);
PyDict_SetItemString(py_char_attr, "fore", py_gdkcolor);
py_gdkcolor = pyg_boxed_new(GDK_TYPE_COLOR, &cht->back, TRUE, TRUE);
PyDict_SetItemString(py_char_attr, "back", py_gdkcolor);
PyDict_SetItemString(py_char_attr, "underline",
PyInt_FromLong(cht->underline));
PyDict_SetItemString(py_char_attr, "strikethrough",
PyInt_FromLong(cht->strikethrough));
PyTuple_SetItem(py_attrs, count, py_char_attr);
}
length = attrs->len;
g_array_free(attrs, TRUE);
return Py_BuildValue("(s#O)", text, length, py_attrs);
} else {
return Py_BuildValue("s", text);
}
}
#line 1059 "vte.c"
#line 204 "vte.override"
static PyObject *
_wrap_vte_terminal_get_cursor_position(PyGObject *self)
{
PyObject *ret;
glong column, row;
vte_terminal_get_cursor_position(VTE_TERMINAL(self->obj),
&column, &row);
ret = PyTuple_New(2);
PyTuple_SetItem(ret, 0, PyInt_FromLong(column));
PyTuple_SetItem(ret, 1, PyInt_FromLong(row));
return ret;
}
#line 1077 "vte.c"
static PyObject *
_wrap_vte_terminal_match_clear_all(PyGObject *self)
{
vte_terminal_match_clear_all(VTE_TERMINAL(self->obj));
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_match_add(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "match", NULL };
char *match;
int ret;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:VteTerminal.match_add", kwlist, &match))
return NULL;
ret = vte_terminal_match_add(VTE_TERMINAL(self->obj), match);
return PyInt_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_match_set_cursor(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "tag", "cursor", NULL };
int tag;
PyObject *py_cursor;
GdkCursor *cursor = NULL;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO:VteTerminal.match_set_cursor", kwlist, &tag, &py_cursor))
return NULL;
if (pyg_boxed_check(py_cursor, GDK_TYPE_CURSOR))
cursor = pyg_boxed_get(py_cursor, GdkCursor);
else {
PyErr_SetString(PyExc_TypeError, "cursor should be a GdkCursor");
return NULL;
}
vte_terminal_match_set_cursor(VTE_TERMINAL(self->obj), tag, cursor);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_match_set_cursor_type(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "tag", "cursor_type", NULL };
int tag;
PyObject *py_cursor_type = NULL;
GdkCursorType cursor_type;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO:VteTerminal.match_set_cursor_type", kwlist, &tag, &py_cursor_type))
return NULL;
if (pyg_enum_get_value(GDK_TYPE_CURSOR_TYPE, py_cursor_type, (gint *)&cursor_type))
return NULL;
vte_terminal_match_set_cursor_type(VTE_TERMINAL(self->obj), tag, cursor_type);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_match_remove(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "tag", NULL };
int tag;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i:VteTerminal.match_remove", kwlist, &tag))
return NULL;
vte_terminal_match_remove(VTE_TERMINAL(self->obj), tag);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_emulation(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "emulation", NULL };
char *emulation;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:VteTerminal.set_emulation", kwlist, &emulation))
return NULL;
vte_terminal_set_emulation(VTE_TERMINAL(self->obj), emulation);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_emulation(PyGObject *self)
{
const gchar *ret;
ret = vte_terminal_get_emulation(VTE_TERMINAL(self->obj));
if (ret)
return PyString_FromString(ret);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_default_emulation(PyGObject *self)
{
const gchar *ret;
ret = vte_terminal_get_default_emulation(VTE_TERMINAL(self->obj));
if (ret)
return PyString_FromString(ret);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_set_encoding(PyGObject *self, PyObject *args, PyObject *kwargs)
{
static char *kwlist[] = { "codeset", NULL };
char *codeset;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s:VteTerminal.set_encoding", kwlist, &codeset))
return NULL;
vte_terminal_set_encoding(VTE_TERMINAL(self->obj), codeset);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_encoding(PyGObject *self)
{
const gchar *ret;
ret = vte_terminal_get_encoding(VTE_TERMINAL(self->obj));
if (ret)
return PyString_FromString(ret);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_status_line(PyGObject *self)
{
const gchar *ret;
ret = vte_terminal_get_status_line(VTE_TERMINAL(self->obj));
if (ret)
return PyString_FromString(ret);
Py_INCREF(Py_None);
return Py_None;
}
#line 220 "vte.override"
static PyObject *
_wrap_vte_terminal_get_padding(PyGObject *self)
{
PyObject *ret;
int xpad, ypad;
vte_terminal_get_padding(VTE_TERMINAL(self->obj), &xpad, &ypad);
ret = PyTuple_New(2);
PyTuple_SetItem(ret, 0, PyInt_FromLong(xpad));
PyTuple_SetItem(ret, 1, PyInt_FromLong(ypad));
return ret;
}
#line 1240 "vte.c"
static PyObject *
_wrap_vte_terminal_get_adjustment(PyGObject *self)
{
GtkAdjustment *ret;
ret = vte_terminal_get_adjustment(VTE_TERMINAL(self->obj));
/* pygobject_new handles NULL checking */
return pygobject_new((GObject *)ret);
}
static PyObject *
_wrap_vte_terminal_get_char_width(PyGObject *self)
{
glong ret;
ret = vte_terminal_get_char_width(VTE_TERMINAL(self->obj));
return PyInt_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_get_char_height(PyGObject *self)
{
glong ret;
ret = vte_terminal_get_char_height(VTE_TERMINAL(self->obj));
return PyInt_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_get_char_descent(PyGObject *self)
{
glong ret;
ret = vte_terminal_get_char_descent(VTE_TERMINAL(self->obj));
return PyInt_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_get_char_ascent(PyGObject *self)
{
glong ret;
ret = vte_terminal_get_char_ascent(VTE_TERMINAL(self->obj));
return PyInt_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_get_row_count(PyGObject *self)
{
glong ret;
ret = vte_terminal_get_row_count(VTE_TERMINAL(self->obj));
return PyInt_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_get_column_count(PyGObject *self)
{
glong ret;
ret = vte_terminal_get_column_count(VTE_TERMINAL(self->obj));
return PyInt_FromLong(ret);
}
static PyObject *
_wrap_vte_terminal_get_window_title(PyGObject *self)
{
const gchar *ret;
ret = vte_terminal_get_window_title(VTE_TERMINAL(self->obj));
if (ret)
return PyString_FromString(ret);
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
_wrap_vte_terminal_get_icon_title(PyGObject *self)
{
const gchar *ret;
ret = vte_terminal_get_icon_title(VTE_TERMINAL(self->obj));
if (ret)
return PyString_FromString(ret);
Py_INCREF(Py_None);
return Py_None;
}
static PyMethodDef _PyVteTerminal_methods[] = {
{ "fork_command", (PyCFunction)_wrap_vte_terminal_fork_command, METH_VARARGS|METH_KEYWORDS },
{ "feed", (PyCFunction)_wrap_vte_terminal_feed, METH_VARARGS|METH_KEYWORDS },
{ "feed_child", (PyCFunction)_wrap_vte_terminal_feed_child, METH_VARARGS|METH_KEYWORDS },
{ "copy_clipboard", (PyCFunction)_wrap_vte_terminal_copy_clipboard, METH_NOARGS },
{ "paste_clipboard", (PyCFunction)_wrap_vte_terminal_paste_clipboard, METH_NOARGS },
{ "copy_primary", (PyCFunction)_wrap_vte_terminal_copy_primary, METH_NOARGS },
{ "paste_primary", (PyCFunction)_wrap_vte_terminal_paste_primary, METH_NOARGS },
{ "set_size", (PyCFunction)_wrap_vte_terminal_set_size, METH_VARARGS|METH_KEYWORDS },
{ "set_audible_bell", (PyCFunction)_wrap_vte_terminal_set_audible_bell, METH_VARARGS|METH_KEYWORDS },
{ "get_audible_bell", (PyCFunction)_wrap_vte_terminal_get_audible_bell, METH_NOARGS },
{ "set_visible_bell", (PyCFunction)_wrap_vte_terminal_set_visible_bell, METH_VARARGS|METH_KEYWORDS },
{ "get_visible_bell", (PyCFunction)_wrap_vte_terminal_get_visible_bell, METH_NOARGS },
{ "set_scroll_background", (PyCFunction)_wrap_vte_terminal_set_scroll_background, METH_VARARGS|METH_KEYWORDS },
{ "set_scroll_on_output", (PyCFunction)_wrap_vte_terminal_set_scroll_on_output, METH_VARARGS|METH_KEYWORDS },
{ "set_scroll_on_keystroke", (PyCFunction)_wrap_vte_terminal_set_scroll_on_keystroke, METH_VARARGS|METH_KEYWORDS },
{ "set_color_dim", (PyCFunction)_wrap_vte_terminal_set_color_dim, METH_VARARGS|METH_KEYWORDS },
{ "set_color_bold", (PyCFunction)_wrap_vte_terminal_set_color_bold, METH_VARARGS|METH_KEYWORDS },
{ "set_color_foreground", (PyCFunction)_wrap_vte_terminal_set_color_foreground, METH_VARARGS|METH_KEYWORDS },
{ "set_color_background", (PyCFunction)_wrap_vte_terminal_set_color_background, METH_VARARGS|METH_KEYWORDS },
{ "set_color_cursor", (PyCFunction)_wrap_vte_terminal_set_color_cursor, METH_VARARGS|METH_KEYWORDS },
{ "set_color_highlight", (PyCFunction)_wrap_vte_terminal_set_color_highlight, METH_VARARGS|METH_KEYWORDS },
{ "set_colors", (PyCFunction)_wrap_vte_terminal_set_colors, METH_VARARGS|METH_KEYWORDS },
{ "set_default_colors", (PyCFunction)_wrap_vte_terminal_set_default_colors, METH_NOARGS },
{ "set_background_image", (PyCFunction)_wrap_vte_terminal_set_background_image, METH_VARARGS|METH_KEYWORDS },
{ "set_background_image_file", (PyCFunction)_wrap_vte_terminal_set_background_image_file, METH_VARARGS|METH_KEYWORDS },
{ "set_background_tint_color", (PyCFunction)_wrap_vte_terminal_set_background_tint_color, METH_VARARGS|METH_KEYWORDS },
{ "set_background_saturation", (PyCFunction)_wrap_vte_terminal_set_background_saturation, METH_VARARGS|METH_KEYWORDS },
{ "set_background_transparent", (PyCFunction)_wrap_vte_terminal_set_background_transparent, METH_VARARGS|METH_KEYWORDS },
{ "set_cursor_blinks", (PyCFunction)_wrap_vte_terminal_set_cursor_blinks, METH_VARARGS|METH_KEYWORDS },
{ "set_scrollback_lines", (PyCFunction)_wrap_vte_terminal_set_scrollback_lines, METH_VARARGS|METH_KEYWORDS },
{ "im_append_menuitems", (PyCFunction)_wrap_vte_terminal_im_append_menuitems, METH_VARARGS|METH_KEYWORDS },
{ "set_font", (PyCFunction)_wrap_vte_terminal_set_font, METH_VARARGS|METH_KEYWORDS },
{ "set_font_full", (PyCFunction)_wrap_vte_terminal_set_font_full, METH_VARARGS|METH_KEYWORDS },
{ "set_font_from_string", (PyCFunction)_wrap_vte_terminal_set_font_from_string, METH_VARARGS|METH_KEYWORDS },
{ "set_font_from_string_full", (PyCFunction)_wrap_vte_terminal_set_font_from_string_full, METH_VARARGS|METH_KEYWORDS },
{ "get_font", (PyCFunction)_wrap_vte_terminal_get_font, METH_NOARGS },
{ "get_using_xft", (PyCFunction)_wrap_vte_terminal_get_using_xft, METH_NOARGS },
{ "set_allow_bold", (PyCFunction)_wrap_vte_terminal_set_allow_bold, METH_VARARGS|METH_KEYWORDS },
{ "get_allow_bold", (PyCFunction)_wrap_vte_terminal_get_allow_bold, METH_NOARGS },
{ "get_has_selection", (PyCFunction)_wrap_vte_terminal_get_has_selection, METH_NOARGS },
{ "set_word_chars", (PyCFunction)_wrap_vte_terminal_set_word_chars, METH_VARARGS|METH_KEYWORDS },
{ "is_word_char", (PyCFunction)_wrap_vte_terminal_is_word_char, METH_VARARGS|METH_KEYWORDS },
{ "set_backspace_binding", (PyCFunction)_wrap_vte_terminal_set_backspace_binding, METH_VARARGS|METH_KEYWORDS },
{ "set_delete_binding", (PyCFunction)_wrap_vte_terminal_set_delete_binding, METH_VARARGS|METH_KEYWORDS },
{ "set_mouse_autohide", (PyCFunction)_wrap_vte_terminal_set_mouse_autohide, METH_VARARGS|METH_KEYWORDS },
{ "get_mouse_autohide", (PyCFunction)_wrap_vte_terminal_get_mouse_autohide, METH_NOARGS },
{ "reset", (PyCFunction)_wrap_vte_terminal_reset, METH_VARARGS|METH_KEYWORDS },
{ "get_text", (PyCFunction)_wrap_vte_terminal_get_text, METH_VARARGS|METH_KEYWORDS },
{ "get_text_range", (PyCFunction)_wrap_vte_terminal_get_text_range, METH_VARARGS|METH_KEYWORDS },
{ "get_cursor_position", (PyCFunction)_wrap_vte_terminal_get_cursor_position, METH_NOARGS },
{ "match_clear_all", (PyCFunction)_wrap_vte_terminal_match_clear_all, METH_NOARGS },
{ "match_add", (PyCFunction)_wrap_vte_terminal_match_add, METH_VARARGS|METH_KEYWORDS },
{ "match_set_cursor", (PyCFunction)_wrap_vte_terminal_match_set_cursor, METH_VARARGS|METH_KEYWORDS },
{ "match_set_cursor_type", (PyCFunction)_wrap_vte_terminal_match_set_cursor_type, METH_VARARGS|METH_KEYWORDS },
{ "match_remove", (PyCFunction)_wrap_vte_terminal_match_remove, METH_VARARGS|METH_KEYWORDS },
{ "set_emulation", (PyCFunction)_wrap_vte_terminal_set_emulation, METH_VARARGS|METH_KEYWORDS },
{ "get_emulation", (PyCFunction)_wrap_vte_terminal_get_emulation, METH_NOARGS },
{ "get_default_emulation", (PyCFunction)_wrap_vte_terminal_get_default_emulation, METH_NOARGS },
{ "set_encoding", (PyCFunction)_wrap_vte_terminal_set_encoding, METH_VARARGS|METH_KEYWORDS },
{ "get_encoding", (PyCFunction)_wrap_vte_terminal_get_encoding, METH_NOARGS },
{ "get_status_line", (PyCFunction)_wrap_vte_terminal_get_status_line, METH_NOARGS },
{ "get_padding", (PyCFunction)_wrap_vte_terminal_get_padding, METH_NOARGS },
{ "get_adjustment", (PyCFunction)_wrap_vte_terminal_get_adjustment, METH_NOARGS },
{ "get_char_width", (PyCFunction)_wrap_vte_terminal_get_char_width, METH_NOARGS },
{ "get_char_height", (PyCFunction)_wrap_vte_terminal_get_char_height, METH_NOARGS },
{ "get_char_descent", (PyCFunction)_wrap_vte_terminal_get_char_descent, METH_NOARGS },
{ "get_char_ascent", (PyCFunction)_wrap_vte_terminal_get_char_ascent, METH_NOARGS },
{ "get_row_count", (PyCFunction)_wrap_vte_terminal_get_row_count, METH_NOARGS },
{ "get_column_count", (PyCFunction)_wrap_vte_terminal_get_column_count, METH_NOARGS },
{ "get_window_title", (PyCFunction)_wrap_vte_terminal_get_window_title, METH_NOARGS },
{ "get_icon_title", (PyCFunction)_wrap_vte_terminal_get_icon_title, METH_NOARGS },
{ NULL, NULL, 0 }
};
PyTypeObject PyVteTerminal_Type = {
PyObject_HEAD_INIT(NULL)
0, /* ob_size */
"vte.Terminal", /* tp_name */
sizeof(PyGObject), /* tp_basicsize */
0, /* tp_itemsize */
/* methods */
(destructor)0, /* tp_dealloc */
(printfunc)0, /* tp_print */
(getattrfunc)0, /* tp_getattr */
(setattrfunc)0, /* tp_setattr */
(cmpfunc)0, /* tp_compare */
(reprfunc)0, /* tp_repr */
(PyNumberMethods*)0, /* tp_as_number */
(PySequenceMethods*)0, /* tp_as_sequence */
(PyMappingMethods*)0, /* tp_as_mapping */
(hashfunc)0, /* tp_hash */
(ternaryfunc)0, /* tp_call */
(reprfunc)0, /* tp_str */
(getattrofunc)0, /* tp_getattro */
(setattrofunc)0, /* tp_setattro */
(PyBufferProcs*)0, /* tp_as_buffer */
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
NULL, /* Documentation string */
(traverseproc)0, /* tp_traverse */
(inquiry)0, /* tp_clear */
(richcmpfunc)0, /* tp_richcompare */
offsetof(PyGObject, weakreflist), /* tp_weaklistoffset */
(getiterfunc)0, /* tp_iter */
(iternextfunc)0, /* tp_iternext */
_PyVteTerminal_methods, /* tp_methods */
0, /* tp_members */
0, /* tp_getset */
NULL, /* tp_base */
NULL, /* tp_dict */
(descrgetfunc)0, /* tp_descr_get */
(descrsetfunc)0, /* tp_descr_set */
offsetof(PyGObject, inst_dict), /* tp_dictoffset */
(initproc)_wrap_vte_terminal_new, /* tp_init */
(allocfunc)0, /* tp_alloc */
(newfunc)0, /* tp_new */
(freefunc)0, /* tp_free */
(inquiry)0 /* tp_is_gc */
};
/* ----------- functions ----------- */
static PyObject *
_wrap_vte_terminal_get_type(PyObject *self)
{
GType ret;
ret = vte_terminal_get_type();
return pyg_type_wrapper_new(ret);
}
static PyObject *
_wrap_vte_terminal_erase_binding_get_type(PyObject *self)
{
GType ret;
ret = vte_terminal_erase_binding_get_type();
return pyg_type_wrapper_new(ret);
}
static PyObject *
_wrap_vte_terminal_anti_alias_get_type(PyObject *self)
{
GType ret;
ret = vte_terminal_anti_alias_get_type();
return pyg_type_wrapper_new(ret);
}
PyMethodDef pyvte_functions[] = {
{ "vte_terminal_get_type", (PyCFunction)_wrap_vte_terminal_get_type, METH_NOARGS },
{ "vte_terminal_erase_binding_get_type", (PyCFunction)_wrap_vte_terminal_erase_binding_get_type, METH_NOARGS },
{ "vte_terminal_anti_alias_get_type", (PyCFunction)_wrap_vte_terminal_anti_alias_get_type, METH_NOARGS },
{ NULL, NULL, 0 }
};
/* ----------- enums and flags ----------- */
void
pyvte_add_constants(PyObject *module, const gchar *strip_prefix)
{
pyg_enum_add(module, "TerminalEraseBinding", strip_prefix, VTE_TYPE_TERMINAL_ERASE_BINDING);
pyg_enum_add(module, "TerminalAntiAlias", strip_prefix, VTE_TYPE_TERMINAL_ANTI_ALIAS);
if (PyErr_Occurred())
PyErr_Print();
}
/* initialise stuff extension classes */
void
pyvte_register_classes(PyObject *d)
{
PyObject *module;
if ((module = PyImport_ImportModule("gtk")) != NULL) {
PyObject *moddict = PyModule_GetDict(module);
_PyGtkMenuShell_Type = (PyTypeObject *)PyDict_GetItemString(moddict, "MenuShell");
if (_PyGtkMenuShell_Type == NULL) {
PyErr_SetString(PyExc_ImportError,
"cannot import name MenuShell from gtk");
return;
}
_PyGtkWidget_Type = (PyTypeObject *)PyDict_GetItemString(moddict, "Widget");
if (_PyGtkWidget_Type == NULL) {
PyErr_SetString(PyExc_ImportError,
"cannot import name Widget from gtk");
return;
}
} else {
PyErr_SetString(PyExc_ImportError,
"could not import gtk");
return;
}
if ((module = PyImport_ImportModule("gtk.gdk")) != NULL) {
PyObject *moddict = PyModule_GetDict(module);
_PyGdkPixbuf_Type = (PyTypeObject *)PyDict_GetItemString(moddict, "Pixbuf");
if (_PyGdkPixbuf_Type == NULL) {
PyErr_SetString(PyExc_ImportError,
"cannot import name Pixbuf from gtk.gdk");
return;
}
} else {
PyErr_SetString(PyExc_ImportError,
"could not import gtk.gdk");
return;
}
#line 1550 "vte.c"
pygobject_register_class(d, "VteTerminal", VTE_TYPE_TERMINAL, &PyVteTerminal_Type, Py_BuildValue("(O)", &PyGtkWidget_Type));
}