vte add repo
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Licensed under the GNU General Public License, version 3.
|
||||
# See the file http://www.gnu.org/copyleft/gpl.txt.
|
||||
|
||||
from pisi.actionsapi import shelltools
|
||||
from pisi.actionsapi import autotools
|
||||
from pisi.actionsapi import pisitools
|
||||
from pisi.actionsapi import get
|
||||
|
||||
|
||||
def setup():
|
||||
autotools.configure("--disable-static \
|
||||
--enable-python \
|
||||
--enable-introspection \
|
||||
--libexecdir=/usr/lib/vte \
|
||||
--localstatedir=/var \
|
||||
--without-glX \
|
||||
--disable-gtk-doc \
|
||||
--with-gtk=2.0")
|
||||
|
||||
pisitools.dosed("libtool", " -shared ", " -Wl,-O1,--as-needed -shared ")
|
||||
|
||||
def build():
|
||||
autotools.make()
|
||||
|
||||
def install():
|
||||
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||
|
||||
pisitools.dodoc("AUTHORS", "ChangeLog", "HACKING", "MAINTAINERS", "COPYING", "NEWS", "README")
|
||||
@@ -0,0 +1,22 @@
|
||||
--- vte-0.28.0/python/Makefile.am.link 2011-04-10 18:37:45.000000000 +0200
|
||||
+++ vte-0.28.0/python/Makefile.am 2011-04-10 18:37:56.000000000 +0200
|
||||
@@ -22,7 +22,7 @@
|
||||
# we do this to suport building with -Wl,-z,defs which errors on
|
||||
# vtemodule.so as we cannot include $(PYTHON_LIBS) due to bug 410986.
|
||||
vtemodule_la_LDFLAGS = -module -avoid-version -export-symbols-regex initvte $(PYTHON_LDFLAGS) $(AM_LDFLAGS)
|
||||
-vtemodule_la_LIBADD = $(top_builddir)/src/libvte.la $(LIBS) $(PYGTK_LIBS) $(VTE_LIBS) $(X_LIBS)
|
||||
+vtemodule_la_LIBADD = $(top_builddir)/src/libvte.la $(LIBS) $(PYGTK_LIBS) $(VTE_LIBS) $(X_LIBS) $(PYTHON_LIBS)
|
||||
nodist_vtemodule_la_SOURCES = vte.c
|
||||
|
||||
vte.c: vte.defs vte.override
|
||||
--- vte-0.28.0/python/Makefile.in.link 2011-04-10 18:38:01.000000000 +0200
|
||||
+++ vte-0.28.0/python/Makefile.in 2011-04-10 18:38:12.000000000 +0200
|
||||
@@ -339,7 +339,7 @@
|
||||
# we do this to suport building with -Wl,-z,defs which errors on
|
||||
# vtemodule.so as we cannot include $(PYTHON_LIBS) due to bug 410986.
|
||||
@BUILD_PYTHON_MODULES_TRUE@vtemodule_la_LDFLAGS = -module -avoid-version -export-symbols-regex initvte $(PYTHON_LDFLAGS) $(AM_LDFLAGS)
|
||||
-@BUILD_PYTHON_MODULES_TRUE@vtemodule_la_LIBADD = $(top_builddir)/src/libvte.la $(LIBS) $(PYGTK_LIBS) $(VTE_LIBS) $(X_LIBS)
|
||||
+@BUILD_PYTHON_MODULES_TRUE@vtemodule_la_LIBADD = $(top_builddir)/src/libvte.la $(LIBS) $(PYGTK_LIBS) $(VTE_LIBS) $(X_LIBS) $(PYTHON_LIBS)
|
||||
@BUILD_PYTHON_MODULES_TRUE@nodist_vtemodule_la_SOURCES = vte.c
|
||||
all: all-am
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
From feeee4b5832b17641e505b7083e0d299fdae318e Mon Sep 17 00:00:00 2001
|
||||
From: Christian Persch <chpe@gnome.org>
|
||||
Date: Sat, 19 May 2012 17:36:09 +0000
|
||||
Subject: emulation: Limit integer arguments to 65535
|
||||
|
||||
To guard against malicious sequences containing excessively big numbers,
|
||||
limit all parsed numbers to 16 bit range. Doing this here in the parsing
|
||||
routine is a catch-all guard; this doesn't preclude enforcing
|
||||
more stringent limits in the handlers themselves.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=676090
|
||||
---
|
||||
diff --git a/src/table.c b/src/table.c
|
||||
index 140e8c8..85cf631 100644
|
||||
--- a/src/table.c
|
||||
+++ b/src/table.c
|
||||
@@ -550,7 +550,7 @@ _vte_table_extract_numbers(GValueArray **array,
|
||||
if (G_UNLIKELY (*array == NULL)) {
|
||||
*array = g_value_array_new(1);
|
||||
}
|
||||
- g_value_set_long(&value, total);
|
||||
+ g_value_set_long(&value, CLAMP (total, 0, G_MAXUSHORT));
|
||||
g_value_array_append(*array, &value);
|
||||
} while (i++ < arginfo->length);
|
||||
g_value_unset(&value);
|
||||
diff --git a/src/vteseq.c b/src/vteseq.c
|
||||
index 457c06a..46def5b 100644
|
||||
--- a/src/vteseq.c
|
||||
+++ b/src/vteseq.c
|
||||
@@ -557,7 +557,7 @@ vte_sequence_handler_multiple(VteTerminal *terminal,
|
||||
GValueArray *params,
|
||||
VteTerminalSequenceHandler handler)
|
||||
{
|
||||
- vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXLONG);
|
||||
+ vte_sequence_handler_multiple_limited(terminal, params, handler, G_MAXUSHORT);
|
||||
}
|
||||
|
||||
static void
|
||||
--
|
||||
cgit v0.9.0.2
|
||||
@@ -0,0 +1,348 @@
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vte-private.h vte-0.28.2/src/vte-private.h
|
||||
--- vte-0.28.2.orig/src/vte-private.h 2011-08-16 21:52:48.000000000 +0000
|
||||
+++ vte-0.28.2/src/vte-private.h 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -281,6 +281,9 @@ struct _VteTerminalPrivate {
|
||||
gboolean scroll_on_keystroke;
|
||||
long scrollback_lines;
|
||||
|
||||
+ /* Scaling options */
|
||||
+ gboolean scale_background;
|
||||
+
|
||||
/* Cursor shape */
|
||||
VteTerminalCursorShape cursor_shape;
|
||||
float cursor_aspect_ratio;
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vte.c vte-0.28.2/src/vte.c
|
||||
--- vte-0.28.2.orig/src/vte.c 2011-08-28 21:31:45.000000000 +0000
|
||||
+++ vte-0.28.2/src/vte.c 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -179,7 +179,8 @@ enum {
|
||||
PROP_SCROLL_ON_OUTPUT,
|
||||
PROP_WINDOW_TITLE,
|
||||
PROP_WORD_CHARS,
|
||||
- PROP_VISIBLE_BELL
|
||||
+ PROP_VISIBLE_BELL,
|
||||
+ PROP_SCALE_BACKGROUND
|
||||
};
|
||||
|
||||
/* these static variables are guarded by the GDK mutex */
|
||||
@@ -11179,6 +11180,10 @@ vte_terminal_paint(GtkWidget *widget, Gd
|
||||
0,
|
||||
terminal->pvt->screen->scroll_delta *
|
||||
terminal->char_height);
|
||||
+ } else if (terminal->pvt->scale_background) {
|
||||
+ _vte_draw_set_background_scale(terminal->pvt->draw,
|
||||
+ terminal->char_width * terminal->column_count,
|
||||
+ terminal->char_height * terminal->row_count);
|
||||
} else {
|
||||
_vte_draw_set_background_scroll(terminal->pvt->draw, 0, 0);
|
||||
}
|
||||
@@ -11574,6 +11579,9 @@ vte_terminal_get_property (GObject *obje
|
||||
case PROP_SCROLL_BACKGROUND:
|
||||
g_value_set_boolean (value, pvt->scroll_background);
|
||||
break;
|
||||
+ case PROP_SCALE_BACKGROUND:
|
||||
+ g_value_set_boolean (value, pvt->scale_background);
|
||||
+ break;
|
||||
case PROP_SCROLLBACK_LINES:
|
||||
g_value_set_uint (value, pvt->scrollback_lines);
|
||||
break;
|
||||
@@ -11680,6 +11688,9 @@ vte_terminal_set_property (GObject *obje
|
||||
case PROP_PTY_OBJECT:
|
||||
vte_terminal_set_pty_object (terminal, g_value_get_object (value));
|
||||
break;
|
||||
+ case PROP_SCALE_BACKGROUND:
|
||||
+ vte_terminal_set_scale_background (terminal, g_value_get_boolean (value));
|
||||
+ break;
|
||||
case PROP_SCROLL_BACKGROUND:
|
||||
vte_terminal_set_scroll_background (terminal, g_value_get_boolean (value));
|
||||
break;
|
||||
@@ -12697,6 +12708,19 @@ vte_terminal_class_init(VteTerminalClass
|
||||
G_PARAM_STATIC_STRINGS));
|
||||
|
||||
/**
|
||||
+ * VteTerminal:scale-background:
|
||||
+ *
|
||||
+ * Controls whether or not the terminal will scale the background image
|
||||
+ * (if one is set)
|
||||
+ */
|
||||
+ g_object_class_install_property
|
||||
+ (gobject_class,
|
||||
+ PROP_SCALE_BACKGROUND,
|
||||
+ g_param_spec_boolean ("scale-background", NULL, NULL,
|
||||
+ FALSE,
|
||||
+ G_PARAM_READWRITE | STATIC_PARAMS));
|
||||
+
|
||||
+ /**
|
||||
* VteTerminal:scroll-background:
|
||||
*
|
||||
* Controls whether or not the terminal will scroll the background image (if
|
||||
@@ -12991,6 +13015,36 @@ vte_terminal_get_allow_bold(VteTerminal
|
||||
}
|
||||
|
||||
/**
|
||||
+ * vte_terminal_set_scale_background:
|
||||
+ * @terminal: a #VteTerminal
|
||||
+ * @scale: whether the terminal should scale the background
|
||||
+ *
|
||||
+ * Controls whether or not the terminal will scale the background image (if
|
||||
+ * one is set) to the widget size.
|
||||
+ *
|
||||
+ * Since: 0.11
|
||||
+ */
|
||||
+void
|
||||
+vte_terminal_set_scale_background(VteTerminal *terminal, gboolean scale)
|
||||
+{
|
||||
+ VteTerminalPrivate *pvt;
|
||||
+
|
||||
+ g_return_if_fail(VTE_IS_TERMINAL(terminal));
|
||||
+
|
||||
+ pvt = terminal->pvt;
|
||||
+
|
||||
+ scale = scale != FALSE;
|
||||
+ if (scale == pvt->scale_background)
|
||||
+ return;
|
||||
+
|
||||
+ pvt->scale_background = scale;
|
||||
+
|
||||
+ g_object_notify (G_OBJECT (terminal), "scale-background");
|
||||
+
|
||||
+ vte_terminal_queue_background_update(terminal);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
* vte_terminal_set_scroll_background:
|
||||
* @terminal: a #VteTerminal
|
||||
* @scroll: whether the terminal should scroll the background image along with
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vte.c.orig vte-0.28.2/src/vte.c.orig
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vte.h vte-0.28.2/src/vte.h
|
||||
--- vte-0.28.2.orig/src/vte.h 2011-08-16 21:52:48.000000000 +0000
|
||||
+++ vte-0.28.2/src/vte.h 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -306,6 +306,7 @@ void vte_terminal_set_audible_bell(VteTe
|
||||
gboolean vte_terminal_get_audible_bell(VteTerminal *terminal);
|
||||
void vte_terminal_set_visible_bell(VteTerminal *terminal, gboolean is_visible);
|
||||
gboolean vte_terminal_get_visible_bell(VteTerminal *terminal);
|
||||
+void vte_terminal_set_scale_background(VteTerminal *terminal, gboolean scale);
|
||||
void vte_terminal_set_scroll_background(VteTerminal *terminal, gboolean scroll);
|
||||
void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll);
|
||||
void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal,
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vte.h.orig vte-0.28.2/src/vte.h.orig
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vteapp.c vte-0.28.2/src/vteapp.c
|
||||
--- vte-0.28.2.orig/src/vteapp.c 2011-08-16 21:52:48.000000000 +0000
|
||||
+++ vte-0.28.2/src/vteapp.c 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -553,7 +553,7 @@ main(int argc, char **argv)
|
||||
const char *background = NULL;
|
||||
gboolean transparent = FALSE, audible = TRUE,
|
||||
debug = FALSE, dingus = FALSE, dbuffer = TRUE,
|
||||
- console = FALSE, scroll = FALSE, keep = FALSE,
|
||||
+ console = FALSE, scroll = FALSE, scale = FALSE, keep = FALSE,
|
||||
icon_title = FALSE, shell = TRUE, highlight_set = FALSE,
|
||||
cursor_set = FALSE, reverse = FALSE, use_geometry_hints = TRUE,
|
||||
antialias = TRUE, use_scrolled_window = FALSE,
|
||||
@@ -669,6 +669,11 @@ main(int argc, char **argv)
|
||||
"Set cursor shape (block|underline|ibeam)", NULL
|
||||
},
|
||||
{
|
||||
+ "scale-background", 'z', 0,
|
||||
+ G_OPTION_ARG_NONE, &scale,
|
||||
+ "Enable a scaling background", NULL
|
||||
+ },
|
||||
+ {
|
||||
"scroll-background", 's', 0,
|
||||
G_OPTION_ARG_NONE, &scroll,
|
||||
"Enable a scrolling background", NULL
|
||||
@@ -891,6 +896,7 @@ main(int argc, char **argv)
|
||||
vte_terminal_set_audible_bell(terminal, audible);
|
||||
vte_terminal_set_visible_bell(terminal, !audible);
|
||||
vte_terminal_set_cursor_blink_mode(terminal, cursor_blink_mode);
|
||||
+ vte_terminal_set_scale_background(terminal, scale);
|
||||
vte_terminal_set_scroll_background(terminal, scroll);
|
||||
vte_terminal_set_scroll_on_output(terminal, FALSE);
|
||||
vte_terminal_set_scroll_on_keystroke(terminal, TRUE);
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vteapp.c.orig vte-0.28.2/src/vteapp.c.orig
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vtebg.c vte-0.28.2/src/vtebg.c
|
||||
--- vte-0.28.2.orig/src/vtebg.c 2011-08-16 21:52:48.000000000 +0000
|
||||
+++ vte-0.28.2/src/vtebg.c 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -56,6 +56,8 @@ typedef struct {
|
||||
PangoColor tint_color;
|
||||
double saturation;
|
||||
cairo_surface_t *surface;
|
||||
+ int width;
|
||||
+ int height;
|
||||
} VteBgCacheItem;
|
||||
|
||||
static void vte_bg_cache_item_free(VteBgCacheItem *item);
|
||||
@@ -321,6 +323,8 @@ static void item_surface_destroy_func(vo
|
||||
"VteBgCacheItem %p surface destroyed\n", item);
|
||||
|
||||
item->surface = NULL;
|
||||
+ item->width = 1;
|
||||
+ item->height = 1;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -364,7 +368,9 @@ vte_bg_cache_search(VteBg *bg,
|
||||
const GdkPixbuf *source_pixbuf,
|
||||
const char *source_file,
|
||||
const PangoColor *tint,
|
||||
- double saturation)
|
||||
+ double saturation,
|
||||
+ int *surface_width,
|
||||
+ int *surface_height)
|
||||
{
|
||||
GList *i;
|
||||
|
||||
@@ -392,6 +398,11 @@ vte_bg_cache_search(VteBg *bg,
|
||||
break;
|
||||
}
|
||||
|
||||
+ if (surface_width)
|
||||
+ *surface_width = item->width;
|
||||
+ if (surface_height)
|
||||
+ *surface_height = item->height;
|
||||
+
|
||||
return cairo_surface_reference(item->surface);
|
||||
}
|
||||
}
|
||||
@@ -407,6 +418,8 @@ vte_bg_cache_search(VteBg *bg,
|
||||
* @tint: a #PangoColor to use as tint color
|
||||
* @saturation: the saturation as a value between 0.0 and 1.0
|
||||
* @other: a #cairo_surface_t
|
||||
+ * @surface_width: pointer to store the surface width
|
||||
+ * @surface_height: pointer to store the surface height
|
||||
*
|
||||
* Returns: a reference to a #cairo_surface_t, or %NULL on failure
|
||||
*/
|
||||
@@ -417,7 +430,9 @@ vte_bg_get_surface(VteBg *bg,
|
||||
const char *source_file,
|
||||
const PangoColor *tint,
|
||||
double saturation,
|
||||
- cairo_surface_t *other)
|
||||
+ cairo_surface_t *other,
|
||||
+ int *surface_width,
|
||||
+ int *surface_height)
|
||||
{
|
||||
VteBgPrivate *pvt;
|
||||
VteBgCacheItem *item;
|
||||
@@ -440,7 +455,8 @@ vte_bg_get_surface(VteBg *bg,
|
||||
|
||||
cached = vte_bg_cache_search(bg, source_type,
|
||||
source_pixbuf, source_file,
|
||||
- tint, saturation);
|
||||
+ tint, saturation,
|
||||
+ surface_width, surface_height);
|
||||
if (cached != NULL) {
|
||||
return cached;
|
||||
}
|
||||
@@ -494,6 +510,13 @@ vte_bg_get_surface(VteBg *bg,
|
||||
else
|
||||
goto out;
|
||||
|
||||
+ if (surface_width)
|
||||
+ *surface_width = width;
|
||||
+ if (surface_height)
|
||||
+ *surface_height = height;
|
||||
+
|
||||
+ item->width = width;
|
||||
+ item->height = height;
|
||||
item->surface =
|
||||
cairo_surface_create_similar(other, CAIRO_CONTENT_COLOR_ALPHA,
|
||||
width, height);
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vtebg.c.orig vte-0.28.2/src/vtebg.c.orig
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vtebg.h vte-0.28.2/src/vtebg.h
|
||||
--- vte-0.28.2.orig/src/vtebg.h 2011-08-16 21:52:48.000000000 +0000
|
||||
+++ vte-0.28.2/src/vtebg.h 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -63,7 +63,9 @@ vte_bg_get_surface(VteBg *bg,
|
||||
const char *source_file,
|
||||
const PangoColor *tint,
|
||||
double saturation,
|
||||
- cairo_surface_t *other);
|
||||
+ cairo_surface_t *other,
|
||||
+ int *surface_width,
|
||||
+ int *surface_height);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vtedraw.c vte-0.28.2/src/vtedraw.c
|
||||
--- vte-0.28.2.orig/src/vtedraw.c 2011-08-16 21:52:48.000000000 +0000
|
||||
+++ vte-0.28.2/src/vtedraw.c 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -752,6 +752,7 @@ struct _vte_draw {
|
||||
struct font_info *font;
|
||||
struct font_info *font_bold;
|
||||
cairo_pattern_t *bg_pattern;
|
||||
+ gint bg_width, bg_height;
|
||||
|
||||
cairo_t *cr;
|
||||
};
|
||||
@@ -839,6 +840,8 @@ _vte_draw_set_background_solid(struct _v
|
||||
green,
|
||||
blue,
|
||||
opacity);
|
||||
+ draw->bg_width = 1;
|
||||
+ draw->bg_height = 1;
|
||||
}
|
||||
|
||||
void
|
||||
@@ -850,6 +853,7 @@ _vte_draw_set_background_image (struct _
|
||||
double saturation)
|
||||
{
|
||||
cairo_surface_t *surface;
|
||||
+ int surface_width, surface_height;
|
||||
|
||||
/* Need a valid draw->cr for cairo_get_target () */
|
||||
_vte_draw_start (draw);
|
||||
@@ -857,7 +861,8 @@ _vte_draw_set_background_image (struct _
|
||||
surface = vte_bg_get_surface (vte_bg_get_for_screen (gtk_widget_get_screen (draw->widget)),
|
||||
type, pixbuf, filename,
|
||||
color, saturation,
|
||||
- cairo_get_target(draw->cr));
|
||||
+ cairo_get_target(draw->cr),
|
||||
+ &surface_width, &surface_height);
|
||||
|
||||
_vte_draw_end (draw);
|
||||
|
||||
@@ -868,6 +873,8 @@ _vte_draw_set_background_image (struct _
|
||||
cairo_pattern_destroy (draw->bg_pattern);
|
||||
|
||||
draw->bg_pattern = cairo_pattern_create_for_surface (surface);
|
||||
+ draw->bg_width = surface_width;
|
||||
+ draw->bg_height = surface_height;
|
||||
cairo_surface_destroy (surface);
|
||||
cairo_pattern_set_extend (draw->bg_pattern, CAIRO_EXTEND_REPEAT);
|
||||
}
|
||||
@@ -888,6 +895,24 @@ _vte_draw_set_background_scroll (struct
|
||||
cairo_pattern_set_matrix (draw->bg_pattern, &matrix);
|
||||
}
|
||||
|
||||
+void
|
||||
+_vte_draw_set_background_scale (struct _vte_draw *draw,
|
||||
+ gint sx, gint sy)
|
||||
+{
|
||||
+ cairo_matrix_t matrix;
|
||||
+
|
||||
+ _vte_debug_print (VTE_DEBUG_DRAW,
|
||||
+ "draw_set_scale (%d, %d)\n",
|
||||
+ sx, sy);
|
||||
+
|
||||
+ g_return_if_fail (draw->bg_pattern != NULL);
|
||||
+
|
||||
+ cairo_matrix_init_scale (&matrix,
|
||||
+ (1.0 * draw->bg_width) / sx,
|
||||
+ (1.0 * draw->bg_height) / sy);
|
||||
+ cairo_pattern_set_matrix (draw->bg_pattern, &matrix);
|
||||
+}
|
||||
+
|
||||
void
|
||||
_vte_draw_clip (struct _vte_draw *draw, GdkRegion *region)
|
||||
{
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vtedraw.c.orig vte-0.28.2/src/vtedraw.c.orig
|
||||
diff -NurpP --minimal vte-0.28.2.orig/src/vtedraw.h vte-0.28.2/src/vtedraw.h
|
||||
--- vte-0.28.2.orig/src/vtedraw.h 2011-08-16 21:52:48.000000000 +0000
|
||||
+++ vte-0.28.2/src/vtedraw.h 2012-04-06 00:23:46.000000000 +0000
|
||||
@@ -82,6 +82,8 @@ void _vte_draw_set_background_image(stru
|
||||
double saturation);
|
||||
void _vte_draw_set_background_scroll(struct _vte_draw *draw,
|
||||
gint x, gint y);
|
||||
+void _vte_draw_set_background_scale(struct _vte_draw *draw,
|
||||
+ gint sx, gint sy);
|
||||
|
||||
void _vte_draw_clip(struct _vte_draw *draw, GdkRegion *region);
|
||||
void _vte_draw_clear(struct _vte_draw *draw,
|
||||
@@ -0,0 +1,73 @@
|
||||
From 180dcc578e13c6096e277fb853e7162db640f207 Mon Sep 17 00:00:00 2001
|
||||
From: Alexandre Rostovtsev <tetromino@gentoo.org>
|
||||
Date: Tue, 15 Nov 2011 03:06:40 -0500
|
||||
Subject: [PATCH] Map both gdk's Meta and Alt to vte's Meta for >=gtk+-3.2.2
|
||||
compatibility
|
||||
|
||||
Also, since VTE_META_MASK is now a mask with multiple bits set, code that
|
||||
compares gdk key modifiers to VTE_META_MASK by numerical equality is no
|
||||
longer guaranteed to work. Therefore, for such comparisons a new function,
|
||||
vte_keymap_fixup_modifiers, is introduced; it ensures that if any bits
|
||||
matching matching VTE_META_MASK are set, then all are set.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=663779
|
||||
---
|
||||
src/keymap.c | 15 +++++++++++++--
|
||||
src/keymap.h | 2 +-
|
||||
2 files changed, 14 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/keymap.c b/src/keymap.c
|
||||
index 9a21669..95b4c5b 100644
|
||||
--- a/src/keymap.c
|
||||
+++ b/src/keymap.c
|
||||
@@ -990,6 +990,17 @@ static const struct _vte_keymap_group {
|
||||
{GDK_KEY (F35), _vte_keymap_GDK_F35},
|
||||
};
|
||||
|
||||
+/* Restrict modifiers to the specified mask and ensure that VTE_META_MASK,
|
||||
+ * despite being a compound mask, is treated as indivisible. */
|
||||
+GdkModifierType
|
||||
+_vte_keymap_fixup_modifiers(GdkModifierType modifiers,
|
||||
+ GdkModifierType mask)
|
||||
+{
|
||||
+ if (modifiers & VTE_META_MASK)
|
||||
+ modifiers |= VTE_META_MASK;
|
||||
+ return modifiers & mask;
|
||||
+}
|
||||
+
|
||||
/* Map the specified keyval/modifier setup, dependent on the mode, to either
|
||||
* a literal string or a capability name. */
|
||||
void
|
||||
@@ -1104,7 +1115,7 @@ _vte_keymap_map(guint keyval,
|
||||
} else {
|
||||
fkey_mode = fkey_default;
|
||||
}
|
||||
- modifiers &= (GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK);
|
||||
+ modifiers = _vte_keymap_fixup_modifiers(modifiers, GDK_SHIFT_MASK | GDK_CONTROL_MASK | VTE_META_MASK | VTE_NUMLOCK_MASK);
|
||||
|
||||
/* Search for the conditions. */
|
||||
for (i = 0; entries[i].normal_length || entries[i].special[0]; i++)
|
||||
@@ -1375,7 +1386,7 @@ _vte_keymap_key_add_key_modifiers(guint keyval,
|
||||
return;
|
||||
}
|
||||
|
||||
- switch (modifiers & significant_modifiers) {
|
||||
+ switch (_vte_keymap_fixup_modifiers(modifiers, significant_modifiers)) {
|
||||
case 0:
|
||||
modifier = 0;
|
||||
break;
|
||||
diff --git a/src/keymap.h b/src/keymap.h
|
||||
index 243e22e..21d9b8e 100644
|
||||
--- a/src/keymap.h
|
||||
+++ b/src/keymap.h
|
||||
@@ -27,7 +27,7 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
-#define VTE_META_MASK GDK_META_MASK
|
||||
+#define VTE_META_MASK (GDK_META_MASK | GDK_MOD1_MASK)
|
||||
#define VTE_NUMLOCK_MASK GDK_MOD2_MASK
|
||||
|
||||
/* Map the specified keyval/modifier setup, dependent on the mode, to either
|
||||
--
|
||||
1.7.8.rc3
|
||||
@@ -0,0 +1,86 @@
|
||||
diff -ur vte-0.22.5-orig/python/vte.override vte-0.22.5-python-get-text/python/vte.override
|
||||
--- vte-0.22.5-orig/python/vte.override 2010-01-16 20:54:40.515014436 -0500
|
||||
+++ vte-0.22.5-python-get-text/python/vte.override 2010-01-16 22:14:40.881828300 -0500
|
||||
@@ -306,9 +306,9 @@
|
||||
}
|
||||
|
||||
cb = PySequence_GetItem(data, 0); /* INCREFs */
|
||||
- Py_XDECREF(cb);
|
||||
|
||||
if (!PyCallable_Check(cb)) {
|
||||
+ Py_XDECREF(cb);
|
||||
PyErr_SetString(PyExc_TypeError, "callback is not a callable object");
|
||||
return FALSE;
|
||||
}
|
||||
@@ -320,6 +320,7 @@
|
||||
PyTuple_SetItem(args, 3, PySequence_GetItem(data, 2));
|
||||
|
||||
result = PyObject_CallObject(cb, args);
|
||||
+ Py_XDECREF(cb);
|
||||
Py_DECREF(args);
|
||||
|
||||
ret = (result && PyObject_IsTrue(result));
|
||||
@@ -332,7 +333,7 @@
|
||||
build_attributes(GArray *attrs)
|
||||
{
|
||||
PyObject *py_attrs = PyTuple_New(attrs->len);
|
||||
- int count;
|
||||
+ guint count;
|
||||
PyObject *row = PyString_FromString("row");
|
||||
PyObject *column = PyString_FromString("column");
|
||||
PyObject *fore = PyString_FromString("fore");
|
||||
@@ -344,6 +345,8 @@
|
||||
VteCharAttributes *cht;
|
||||
PyObject *py_char_attr;
|
||||
|
||||
+ cht = &g_array_index(attrs, VteCharAttributes, count);
|
||||
+
|
||||
py_char_attr = Py_BuildValue("{S:l,S:l,S:N,S:N,S:I,S:I}",
|
||||
row, cht->row,
|
||||
column, cht->column,
|
||||
@@ -380,10 +383,9 @@
|
||||
GArray *attrs = NULL;
|
||||
char *text;
|
||||
PyObject *py_attrs;
|
||||
- int count;
|
||||
long length;
|
||||
|
||||
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|OO:terminal_get_text",
|
||||
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOO:terminal_get_text",
|
||||
kwlist, &callback, &do_attr, &data)) {
|
||||
return NULL;
|
||||
}
|
||||
@@ -451,10 +453,9 @@
|
||||
GArray *attrs = NULL;
|
||||
char *text;
|
||||
PyObject *py_attrs;
|
||||
- int count;
|
||||
long length;
|
||||
|
||||
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|OO:terminal_get_text_include_trailing_spaces",
|
||||
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOO:terminal_get_text_include_trailing_spaces",
|
||||
kwlist, &callback, &do_attr, &data)) {
|
||||
return NULL;
|
||||
}
|
||||
@@ -522,11 +523,10 @@
|
||||
GArray *attrs = NULL;
|
||||
char *text;
|
||||
PyObject *py_attrs;
|
||||
- int count;
|
||||
long length;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
|
||||
- "llllO|OO:terminal_get_text_range",
|
||||
+ "llll|OOO:terminal_get_text_range",
|
||||
kwlist,
|
||||
&start_row, &start_col, &end_row, &end_col,
|
||||
&callback, &do_attr, &data)) {
|
||||
@@ -641,7 +641,7 @@
|
||||
static char *kwlist[] = { "column", "row", NULL };
|
||||
gchar *ret;
|
||||
glong column, row;
|
||||
- int *tag;
|
||||
+ int tag;
|
||||
|
||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ll:VteTerminal.match_check", kwlist, &column, &row))
|
||||
return NULL;
|
||||
@@ -0,0 +1,129 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>vte</Name>
|
||||
<Homepage>http://www.gnome.org</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>LGPLv2</License>
|
||||
<Summary>Xft powered terminal widget</Summary>
|
||||
<Description>The VTE package contains a termcap file implementation for terminal emulators.</Description>
|
||||
<Archive sha1sum="b0af0701ef9d6c7ede9c578366b12a70ac47ab66" type="tarxz">mirrors://gnome/vte/0.28/vte-0.28.2.tar.xz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>fontconfig-devel</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>pango-devel</Dependency>
|
||||
<Dependency>cairo-devel</Dependency>
|
||||
<Dependency>gtk-doc</Dependency>
|
||||
<Dependency>gdk-pixbuf-devel</Dependency>
|
||||
<Dependency>atk-devel</Dependency>
|
||||
<Dependency>ncurses-devel</Dependency>
|
||||
<Dependency>glib2-devel</Dependency>
|
||||
<Dependency>libX11-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">vte-0.28.2-limit-arguments.patch</Patch>
|
||||
<Patch level="1">vte-alt-meta-confusion.patch</Patch>
|
||||
<Patch level="1">vte-python-bugfixes.patch</Patch>
|
||||
<Patch level="1">vte-0.28.0-link.patch</Patch>
|
||||
<Patch level="1">vte-0.28.2-scale.patch</Patch>
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>vte</Name>
|
||||
<IsA>library</IsA>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>gtk2</Dependency>
|
||||
<Dependency>atk</Dependency>
|
||||
<Dependency>cairo</Dependency>
|
||||
<Dependency>gdk-pixbuf</Dependency>
|
||||
<Dependency>pango</Dependency>
|
||||
<Dependency>ncurses</Dependency>
|
||||
<Dependency>glib2</Dependency>
|
||||
<Dependency>libX11</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/bin</Path>
|
||||
<Path fileType="library">/usr/lib</Path>
|
||||
<Path fileType="executable">/usr/libexec</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="localedata">/usr/share/locale</Path>
|
||||
<Path fileType="data">/usr/share/vte</Path>
|
||||
<Path fileType="data">/usr/share/pygtk</Path>
|
||||
<Path fileType="data">/usr/share/gir-1.0/Vte-0.0.gir</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>vte-docs</Name>
|
||||
<IsA>data:doc</IsA>
|
||||
<Summary>GTK reference documents for vte</Summary>
|
||||
<Files>
|
||||
<Path fileType="doc">/usr/share/gtk-doc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<Package>
|
||||
<Name>vte-devel</Name>
|
||||
<Summary>Development files for vte</Summary>
|
||||
<RuntimeDependencies>
|
||||
<Dependency release="current">vte</Dependency>
|
||||
<Dependency>gtk2-devel</Dependency>
|
||||
<Dependency>pango-devel</Dependency>
|
||||
<Dependency>cairo-devel</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="header">/usr/include</Path>
|
||||
<Path fileType="library">/usr/lib/pkgconfig</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="6">
|
||||
<Date>2014-05-16</Date>
|
||||
<Version>0.28.2</Version>
|
||||
<Comment>Release bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="5">
|
||||
<Date>2014-01-25</Date>
|
||||
<Version>0.28.2</Version>
|
||||
<Comment>rebuild for unused</Comment>
|
||||
<Name>Yusuf Aydemir</Name>
|
||||
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="4">
|
||||
<Date>2013-11-06</Date>
|
||||
<Version>0.28.2</Version>
|
||||
<Comment>Fix deps</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3">
|
||||
<Date>2013-08-25</Date>
|
||||
<Version>0.28.2</Version>
|
||||
<Comment>Release bump.</Comment>
|
||||
<Name>Marcin Bojara</Name>
|
||||
<Email>marcin@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2013-07-30</Date>
|
||||
<Version>0.28.2</Version>
|
||||
<Comment>Rebuild</Comment>
|
||||
<Name>Osman Erkan</Name>
|
||||
<Email>osman.erkan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-11-24</Date>
|
||||
<Version>0.28.2</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Osman Erkan</Name>
|
||||
<Email>namso-0"@hotmail.it</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>vte</Name>
|
||||
<Summary xml:lang="fr">Widget terminal utilisant Xft</Summary>
|
||||
<Description xml:lang="tr">Vte paketi, terminal emülatörleri için termcap uygulama dosyası içerir.</Description>
|
||||
</Source>
|
||||
<Source>
|
||||
<Name>vte-docs</Name>
|
||||
<Summary xml:lang="fr">Vte referans dökümanları</Summary>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>vte-devel</Name>
|
||||
<Summary xml:lang="tr">vte için geliştirme dosyaları</Summary>
|
||||
</Package>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user