diff -Nru vte-0.28.2/debian/changelog vte-0.28.2/debian/changelog --- vte-0.28.2/debian/changelog 2015-01-20 12:26:23.000000000 +0000 +++ vte-0.28.2/debian/changelog 2015-01-20 12:31:55.000000000 +0000 @@ -1,4 +1,4 @@ -vte (1:0.28.2-5ubuntu1~trusty1) trusty; urgency=low +vte (1:0.28.2-5ubuntu2~trusty1) trusty; urgency=low * Resynchronise with Debian (libexecdir fix closes LP: #864609). Remaining changes: diff -Nru vte-0.28.2/debian/patches/altscreen-scroll.patch vte-0.28.2/debian/patches/altscreen-scroll.patch --- vte-0.28.2/debian/patches/altscreen-scroll.patch 2015-01-20 12:27:32.000000000 +0000 +++ vte-0.28.2/debian/patches/altscreen-scroll.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,170 +0,0 @@ -Description: - TODO: Put a short summary on the line above and replace this paragraph - with a longer explanation of this change. Complete the meta-information - with other relevant fields (see below for details). To make it easier, the - information below has been extracted from the changelog. Adjust it or drop - it. - . - vte (1:0.28.2-5ubuntu1~trusty1) trusty; urgency=low - . - * Resynchronise with Debian (libexecdir fix closes LP: #864609). - Remaining changes: - - debian/patches/91_keep_fds.patch: - - vte does not support G_SPAWN_LEAVE_DESCRIPTORS_OPEN when calling - vte_terminal_fork_command_full(). - - debian/patches/93_add_alt_screen_scroll_toggle.patch: - - Handle scrolling differently when using alternate screen or - scrolling is restricted. - - debian/patches/lp246701_scroll_region_updates.patch: - - Fix update glitch related to scroll regions. - - debian/patches/backscroll-stream-mem.patch: - - Provide a memory-based scrollback stream backend to avoid hitting - disk with terminal contents. - * Add version for vte_terminal_set_alternate_screen_scroll to - libvte9.symbols (probably a bit too tight, but due to changelog - truncation this is the best I could readily manage). -Author: Colin Watson -Bug-Ubuntu: https://bugs.launchpad.net/bugs/864609 - ---- -The information above should follow the Patch Tagging Guidelines, please -checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here -are templates for supplementary fields that you might want to add: - -Origin: , -Bug: -Bug-Debian: http://bugs.debian.org/ -Bug-Ubuntu: https://launchpad.net/bugs/ -Forwarded: -Reviewed-By: -Last-Update: - ---- vte-0.28.2.orig/python/vte.defs -+++ vte-0.28.2/python/vte.defs -@@ -202,6 +202,15 @@ - (return-type "gboolean") - ) - -+(define-method set_alternate_screen_scroll -+ (of-object "VteTerminal") -+ (c-name "vte_terminal_set_alternate_screen_scroll") -+ (return-type "none") -+ (parameters -+ '("gboolean" "scroll") -+ ) -+) -+ - (define-method set_scroll_background - (of-object "VteTerminal") - (c-name "vte_terminal_set_scroll_background") ---- vte-0.28.2.orig/src/vte-private.h -+++ vte-0.28.2/src/vte-private.h -@@ -279,8 +279,8 @@ struct _VteTerminalPrivate { - gboolean scroll_background; - gboolean scroll_on_output; - gboolean scroll_on_keystroke; -- gboolean alternate_screen_scroll; - long scrollback_lines; -+ gboolean alternate_screen_scroll; - - /* Cursor shape */ - VteTerminalCursorShape cursor_shape; ---- vte-0.28.2.orig/src/vte.c -+++ vte-0.28.2/src/vte.c -@@ -8429,7 +8429,6 @@ vte_terminal_init(VteTerminal *terminal) - - /* Scrolling options. */ - pvt->scroll_on_keystroke = TRUE; -- pvt->alternate_screen_scroll = TRUE; - pvt->scrollback_lines = -1; /* force update in vte_terminal_set_scrollback_lines */ - vte_terminal_set_scrollback_lines(terminal, VTE_SCROLLBACK_INIT); - -@@ -8479,8 +8478,6 @@ vte_terminal_init(VteTerminal *terminal) - pvt->has_fonts = FALSE; - pvt->root_pixmap_changed_tag = 0; - -- pvt->alternate_screen_scroll = TRUE; -- - /* Not all backends generate GdkVisibilityNotify, so mark the - * window as unobscured initially. */ - pvt->visibility_state = GDK_VISIBILITY_UNOBSCURED; -@@ -11436,9 +11433,9 @@ vte_terminal_scroll(GtkWidget *widget, G - return FALSE; - } - -- if ((terminal->pvt->screen == &terminal->pvt->alternate_screen && -- terminal->pvt->alternate_screen_scroll) || -- terminal->pvt->normal_screen.scrolling_restricted) { -+ if (terminal->pvt->alternate_screen_scroll && -+ (terminal->pvt->screen == &terminal->pvt->alternate_screen || -+ terminal->pvt->normal_screen.scrolling_restricted)) { - char *normal; - gssize normal_length; - const gchar *special; -@@ -13094,15 +13091,17 @@ vte_terminal_set_scroll_on_keystroke(Vte - /** - * vte_terminal_set_alternate_screen_scroll: - * @terminal: a #VteTerminal -- * @scroll: -+ * @scroll: %TRUE if the terminal should send keystrokes for scrolling when using alternate screen - * -- * Does nothing, left for backwards compatibility -+ * Controls whether or not the terminal will send keystrokes for scrolling -+ * when using alternate screen or scrolling is restricted. - * - */ - void - vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, gboolean scroll) - { -- -+ g_return_if_fail(VTE_IS_TERMINAL(terminal)); -+ terminal->pvt->alternate_screen_scroll = scroll; - } - - static void -@@ -14116,8 +14115,6 @@ vte_terminal_reset(VteTerminal *terminal - pvt->alternate_screen.reverse_mode = FALSE; - pvt->alternate_screen.bracketed_paste_mode = FALSE; - pvt->cursor_visible = TRUE; -- /* For some reason, xterm doesn't reset alternateScroll, but we do. */ -- pvt->alternate_screen_scroll = TRUE; - /* Reset the encoding. */ - vte_terminal_set_encoding(terminal, NULL); - g_assert(pvt->encoding != NULL); ---- vte-0.28.2.orig/src/vte.h -+++ vte-0.28.2/src/vte.h -@@ -310,6 +310,8 @@ void vte_terminal_set_scroll_background( - void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll); - void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal, - gboolean scroll); -+void vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, -+ gboolean scroll); - - /* Set the color scheme. */ - void vte_terminal_set_color_dim(VteTerminal *terminal, ---- vte-0.28.2.orig/src/vtedeprecated.h -+++ vte-0.28.2/src/vtedeprecated.h -@@ -100,9 +100,6 @@ GtkAdjustment *vte_terminal_get_adjustme - - G_END_DECLS - --void vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, -- gboolean scroll) G_GNUC_DEPRECATED; -- - #endif /* !vte_deprecated_h_included */ - - #endif /* !VTE_DISABLE_DEPRECATED */ ---- vte-0.28.2.orig/src/vteseq.c -+++ vte-0.28.2/src/vteseq.c -@@ -685,11 +685,6 @@ vte_sequence_handler_decset_internal(Vte - GINT_TO_POINTER(0), - GINT_TO_POINTER(MOUSE_TRACKING_ALL_MOTION_TRACKING), - NULL, NULL,}, -- /* 1007: Alternate screen scroll. */ -- {1007, &terminal->pvt->alternate_screen_scroll, NULL, NULL, -- GINT_TO_POINTER(FALSE), -- GINT_TO_POINTER(TRUE), -- NULL, NULL,}, - /* 1010/rxvt: disallowed, scroll-on-output is set by user. */ - {1010, NULL, NULL, NULL, NULL, NULL, NULL, NULL,}, - /* 1011/rxvt: disallowed, scroll-on-keypress is set by user. */ diff -Nru vte-0.28.2/debian/patches/real_alt_screen_scroll.patch vte-0.28.2/debian/patches/real_alt_screen_scroll.patch --- vte-0.28.2/debian/patches/real_alt_screen_scroll.patch 1970-01-01 00:00:00.000000000 +0000 +++ vte-0.28.2/debian/patches/real_alt_screen_scroll.patch 2015-01-20 12:37:02.000000000 +0000 @@ -0,0 +1,178 @@ +Description: Adds support for DEC 1007 escape sequence, making the alternate screen scroll work. + This patch adds support for DEC 1007 escape sequence, thus making the + alternate screen scroll work always. After applying it, the corresponding + patches with the calls to vte_terminal_set_alternate_screen_scroll function + can be safely dropped from the terminal applications using GTK2-based vte, + for example mate-terminal, xfce4-terminal, roxterm-gtk2, lxterminal, etc. + + The patch has been adapted from the upstream commit in VTE3. + + https://git.gnome.org/browse/vte/commit/?id=9f8c1b88dcd880c2d9e78c93521ee755560a9275 + + This patch was taken from: + + https://bugs.launchpad.net/ubuntu/+source/vte/+bug/1340687 + . + vte (1:0.28.2-5ubuntu2~trusty1) trusty; urgency=low + . + * Resynchronise with Debian (libexecdir fix closes LP: #864609). + Remaining changes: + - debian/patches/91_keep_fds.patch: + - vte does not support G_SPAWN_LEAVE_DESCRIPTORS_OPEN when calling + vte_terminal_fork_command_full(). + - debian/patches/93_add_alt_screen_scroll_toggle.patch: + - Handle scrolling differently when using alternate screen or + scrolling is restricted. + - debian/patches/lp246701_scroll_region_updates.patch: + - Fix update glitch related to scroll regions. + - debian/patches/backscroll-stream-mem.patch: + - Provide a memory-based scrollback stream backend to avoid hitting + disk with terminal contents. + * Add version for vte_terminal_set_alternate_screen_scroll to + libvte9.symbols (probably a bit too tight, but due to changelog + truncation this is the best I could readily manage). +Author: Colin Watson +Bug-Ubuntu: https://bugs.launchpad.net/bugs/864609 + +--- +The information above should follow the Patch Tagging Guidelines, please +checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here +are templates for supplementary fields that you might want to add: + +Origin: , +Bug: +Bug-Debian: http://bugs.debian.org/ +Bug-Ubuntu: https://launchpad.net/bugs/ +Forwarded: +Reviewed-By: +Last-Update: + +--- vte-0.28.2.orig/python/vte.defs ++++ vte-0.28.2/python/vte.defs +@@ -202,6 +202,15 @@ + (return-type "gboolean") + ) + ++(define-method set_alternate_screen_scroll ++ (of-object "VteTerminal") ++ (c-name "vte_terminal_set_alternate_screen_scroll") ++ (return-type "none") ++ (parameters ++ '("gboolean" "scroll") ++ ) ++) ++ + (define-method set_scroll_background + (of-object "VteTerminal") + (c-name "vte_terminal_set_scroll_background") +--- vte-0.28.2.orig/src/vte-private.h ++++ vte-0.28.2/src/vte-private.h +@@ -279,8 +279,8 @@ struct _VteTerminalPrivate { + gboolean scroll_background; + gboolean scroll_on_output; + gboolean scroll_on_keystroke; +- gboolean alternate_screen_scroll; + long scrollback_lines; ++ gboolean alternate_screen_scroll; + + /* Cursor shape */ + VteTerminalCursorShape cursor_shape; +--- vte-0.28.2.orig/src/vte.c ++++ vte-0.28.2/src/vte.c +@@ -8429,7 +8429,6 @@ vte_terminal_init(VteTerminal *terminal) + + /* Scrolling options. */ + pvt->scroll_on_keystroke = TRUE; +- pvt->alternate_screen_scroll = TRUE; + pvt->scrollback_lines = -1; /* force update in vte_terminal_set_scrollback_lines */ + vte_terminal_set_scrollback_lines(terminal, VTE_SCROLLBACK_INIT); + +@@ -8479,8 +8478,6 @@ vte_terminal_init(VteTerminal *terminal) + pvt->has_fonts = FALSE; + pvt->root_pixmap_changed_tag = 0; + +- pvt->alternate_screen_scroll = TRUE; +- + /* Not all backends generate GdkVisibilityNotify, so mark the + * window as unobscured initially. */ + pvt->visibility_state = GDK_VISIBILITY_UNOBSCURED; +@@ -11436,9 +11433,9 @@ vte_terminal_scroll(GtkWidget *widget, G + return FALSE; + } + +- if ((terminal->pvt->screen == &terminal->pvt->alternate_screen && +- terminal->pvt->alternate_screen_scroll) || +- terminal->pvt->normal_screen.scrolling_restricted) { ++ if (terminal->pvt->alternate_screen_scroll && ++ (terminal->pvt->screen == &terminal->pvt->alternate_screen || ++ terminal->pvt->normal_screen.scrolling_restricted)) { + char *normal; + gssize normal_length; + const gchar *special; +@@ -13094,15 +13091,17 @@ vte_terminal_set_scroll_on_keystroke(Vte + /** + * vte_terminal_set_alternate_screen_scroll: + * @terminal: a #VteTerminal +- * @scroll: ++ * @scroll: %TRUE if the terminal should send keystrokes for scrolling when using alternate screen + * +- * Does nothing, left for backwards compatibility ++ * Controls whether or not the terminal will send keystrokes for scrolling ++ * when using alternate screen or scrolling is restricted. + * + */ + void + vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, gboolean scroll) + { +- ++ g_return_if_fail(VTE_IS_TERMINAL(terminal)); ++ terminal->pvt->alternate_screen_scroll = scroll; + } + + static void +@@ -14116,8 +14115,6 @@ vte_terminal_reset(VteTerminal *terminal + pvt->alternate_screen.reverse_mode = FALSE; + pvt->alternate_screen.bracketed_paste_mode = FALSE; + pvt->cursor_visible = TRUE; +- /* For some reason, xterm doesn't reset alternateScroll, but we do. */ +- pvt->alternate_screen_scroll = TRUE; + /* Reset the encoding. */ + vte_terminal_set_encoding(terminal, NULL); + g_assert(pvt->encoding != NULL); +--- vte-0.28.2.orig/src/vte.h ++++ vte-0.28.2/src/vte.h +@@ -310,6 +310,8 @@ void vte_terminal_set_scroll_background( + void vte_terminal_set_scroll_on_output(VteTerminal *terminal, gboolean scroll); + void vte_terminal_set_scroll_on_keystroke(VteTerminal *terminal, + gboolean scroll); ++void vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, ++ gboolean scroll); + + /* Set the color scheme. */ + void vte_terminal_set_color_dim(VteTerminal *terminal, +--- vte-0.28.2.orig/src/vtedeprecated.h ++++ vte-0.28.2/src/vtedeprecated.h +@@ -100,9 +100,6 @@ GtkAdjustment *vte_terminal_get_adjustme + + G_END_DECLS + +-void vte_terminal_set_alternate_screen_scroll(VteTerminal *terminal, +- gboolean scroll) G_GNUC_DEPRECATED; +- + #endif /* !vte_deprecated_h_included */ + + #endif /* !VTE_DISABLE_DEPRECATED */ +--- vte-0.28.2.orig/src/vteseq.c ++++ vte-0.28.2/src/vteseq.c +@@ -685,11 +685,6 @@ vte_sequence_handler_decset_internal(Vte + GINT_TO_POINTER(0), + GINT_TO_POINTER(MOUSE_TRACKING_ALL_MOTION_TRACKING), + NULL, NULL,}, +- /* 1007: Alternate screen scroll. */ +- {1007, &terminal->pvt->alternate_screen_scroll, NULL, NULL, +- GINT_TO_POINTER(FALSE), +- GINT_TO_POINTER(TRUE), +- NULL, NULL,}, + /* 1010/rxvt: disallowed, scroll-on-output is set by user. */ + {1010, NULL, NULL, NULL, NULL, NULL, NULL, NULL,}, + /* 1011/rxvt: disallowed, scroll-on-keypress is set by user. */ diff -Nru vte-0.28.2/debian/patches/series vte-0.28.2/debian/patches/series --- vte-0.28.2/debian/patches/series 2015-01-20 12:27:32.000000000 +0000 +++ vte-0.28.2/debian/patches/series 2015-01-20 12:33:37.000000000 +0000 @@ -8,4 +8,4 @@ 93_add_alt_screen_scroll_toggle.patch lp246701_scroll_region_updates.patch backscroll-stream-mem.patch -altscreen-scroll.patch +real_alt_screen_scroll.patch