From acdaf4fbbba6f37ccd2795c60dfc7b9567be38d9 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Tue, 2 Jul 2019 13:12:29 +0200 Subject: [PATCH] Update to 0.57.3 - Rebase downstream patches --- .gitignore | 1 + sources | 2 +- vte291-cntnr-precmd-preexec-scroll.patch | 211 +++++++++++------------ vte291.spec | 16 +- 4 files changed, 121 insertions(+), 109 deletions(-) diff --git a/.gitignore b/.gitignore index c5f5995..0342aae 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ /vte-0.56.2.tar.xz /vte-0.56.3.tar.xz /vte-0.57.0.tar.xz +/vte-0.57.3.tar.xz diff --git a/sources b/sources index 6dd7488..5348c35 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vte-0.57.0.tar.xz) = 87788ed44b39d57cf6d0ff99046ab575c8a410a0713e8f7404ada1239a1691f687b689a0b692f1bfe84ba7c38308382da409bab0780b1168d0ba99bbc0eb7b4f +SHA512 (vte-0.57.3.tar.xz) = f5496fd2b24af8d8eb895adaea59ee5ed4250c12a97745e025aacebca2d709901ae84befca58a3c5f1a54014a97af460ea53f844b1b1b9e32e192cc5883ecfed diff --git a/vte291-cntnr-precmd-preexec-scroll.patch b/vte291-cntnr-precmd-preexec-scroll.patch index d2ab9f5..2a9267f 100644 --- a/vte291-cntnr-precmd-preexec-scroll.patch +++ b/vte291-cntnr-precmd-preexec-scroll.patch @@ -1,4 +1,4 @@ -From b499620a43f69fe899210a9cba509a6b3999c4a4 Mon Sep 17 00:00:00 2001 +From 71e9d26cb88f0837ce1e2f3a4d4ac001aae5365e Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 7 Jan 2015 16:01:00 +0100 Subject: [PATCH 01/10] Add sequences and signals for desktop notification @@ -27,21 +27,19 @@ https://bugzilla.gnome.org/show_bug.cgi?id=711059 7 files changed, 74 insertions(+), 2 deletions(-) diff --git a/src/marshal.list b/src/marshal.list -index 1e4d0c1b6476..3385b4759713 100644 +index 241128c3ccfe..4412cf3d5f5c 100644 --- a/src/marshal.list +++ b/src/marshal.list -@@ -1,5 +1,6 @@ - VOID:INT,INT - VOID:OBJECT,OBJECT +@@ -1,3 +1,4 @@ VOID:STRING,BOXED +VOID:STRING,STRING VOID:STRING,UINT VOID:UINT,UINT diff --git a/src/vte.cc b/src/vte.cc -index 0aa9a3fc6b42..cef9a05be18a 100644 +index e7815b4446d1..d5fc77536e54 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10205,6 +10205,15 @@ Terminal::emit_pending_signals() +@@ -10696,6 +10696,15 @@ Terminal::emit_pending_signals() emit_adjustment_changed(); @@ -58,7 +56,7 @@ index 0aa9a3fc6b42..cef9a05be18a 100644 if (m_window_title != m_window_title_pending) { m_window_title.swap(m_window_title_pending); diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index 26ac236ef4ea..abf1a38cb20d 100644 +index 18ac0714244a..ea5c9313162a 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -104,8 +104,10 @@ struct _VteTerminalClass { @@ -74,10 +72,10 @@ index 26ac236ef4ea..abf1a38cb20d 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index c47a5c4a9d2b..03570d4c5554 100644 +index c18a178af178..92ff9d07752d 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -727,6 +727,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -739,6 +739,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->child_exited = NULL; klass->encoding_changed = NULL; klass->char_size_changed = NULL; @@ -85,9 +83,9 @@ index c47a5c4a9d2b..03570d4c5554 100644 klass->window_title_changed = NULL; klass->icon_title_changed = NULL; klass->selection_changed = NULL; -@@ -802,6 +803,26 @@ vte_terminal_class_init(VteTerminalClass *klass) - G_TYPE_NONE, - 1, G_TYPE_INT); +@@ -820,6 +821,26 @@ vte_terminal_class_init(VteTerminalClass *klass) + G_OBJECT_CLASS_TYPE(klass), + g_cclosure_marshal_VOID__INTv); + /** + * VteTerminal::notification-received: @@ -113,7 +111,7 @@ index c47a5c4a9d2b..03570d4c5554 100644 * VteTerminal::window-title-changed: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index c49754ef38ee..126d29326f11 100644 +index e2515b3491ae..c175f6d7b06f 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -56,6 +56,7 @@ enum { @@ -125,10 +123,10 @@ index c49754ef38ee..126d29326f11 100644 LAST_SIGNAL }; diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 58cb0479c5c4..dd4bd37c38e1 100644 +index b0b6239e38e3..554a4506f49f 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -539,6 +539,11 @@ public: +@@ -560,6 +560,11 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -140,7 +138,7 @@ index 58cb0479c5c4..dd4bd37c38e1 100644 std::string m_window_title{}; std::string m_current_directory_uri{}; std::string m_current_file_uri{}; -@@ -1269,6 +1274,9 @@ public: +@@ -1313,6 +1318,9 @@ public: int osc) noexcept; /* OSC handlers */ @@ -151,10 +149,10 @@ index 58cb0479c5c4..dd4bd37c38e1 100644 vte::parser::StringTokeniser::const_iterator& token, vte::parser::StringTokeniser::const_iterator const& endtoken, diff --git a/src/vteseq.cc b/src/vteseq.cc -index d596d8b9f56f..fcc2cc872f4c 100644 +index 9ee154778974..3688462478e5 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1334,6 +1334,33 @@ Terminal::delete_lines(vte::grid::row_t param) +@@ -1398,6 +1398,33 @@ Terminal::delete_lines(vte::grid::row_t param) m_text_deleted_flag = TRUE; } @@ -188,7 +186,7 @@ index d596d8b9f56f..fcc2cc872f4c 100644 bool Terminal::get_osc_color_index(int osc, int value, -@@ -6411,6 +6438,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6488,6 +6515,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) reset_color(VTE_HIGHLIGHT_FG, VTE_COLOR_SOURCE_ESCAPE); break; @@ -199,7 +197,7 @@ index d596d8b9f56f..fcc2cc872f4c 100644 case VTE_OSC_XTERM_SET_ICON_TITLE: case VTE_OSC_XTERM_SET_XPROPERTY: case VTE_OSC_XTERM_SET_COLOR_MOUSE_CURSOR_FG: -@@ -6451,7 +6482,6 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6528,7 +6559,6 @@ Terminal::OSC(vte::parser::Sequence const& seq) case VTE_OSC_URXVT_SET_FONT_BOLD_ITALIC: case VTE_OSC_URXVT_VIEW_UP: case VTE_OSC_URXVT_VIEW_DOWN: @@ -211,7 +209,7 @@ index d596d8b9f56f..fcc2cc872f4c 100644 2.20.1 -From 4ad3660c4d2ec7752d665f6b12a46498a3b595d1 Mon Sep 17 00:00:00 2001 +From 92222d93d5a51a3bfa232b2b99c80303abbaa699 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 29 Jan 2015 13:09:17 +0100 Subject: [PATCH 02/10] vte.sh: Emit OSC 777 from PROMPT_COMMAND @@ -226,10 +224,10 @@ https://bugzilla.gnome.org/show_bug.cgi?id=711059 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/vte.sh b/src/vte.sh -index 6d1a8734c479..b75c6dac6f6e 100644 +index c200493c34a6..ee010aa36505 100644 --- a/src/vte.sh +++ b/src/vte.sh -@@ -50,9 +50,11 @@ __vte_osc7 () { +@@ -50,10 +50,12 @@ __vte_osc7 () { } __vte_prompt_command() { @@ -237,6 +235,7 @@ index 6d1a8734c479..b75c6dac6f6e 100644 + command="${command//;/ }" local pwd='~' [ "$PWD" != "$HOME" ] && pwd=${PWD/#$HOME\//\~\/} + pwd="${pwd//[[:cntrl:]]}" - printf "\033]0;%s@%s:%s\033\\%s" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)" + printf '\033]777;notify;Command completed;%s\033\\\033]0;%s@%s:%s\033\\%s' "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)" } @@ -246,7 +245,7 @@ index 6d1a8734c479..b75c6dac6f6e 100644 2.20.1 -From 2c3e7136a7ead33a49c8190ceb3c7dcc22dc9f2d Mon Sep 17 00:00:00 2001 +From a6802affd1e2d8e1869312221e4be55b2b458d28 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Jan 2015 16:37:10 +0100 Subject: [PATCH 03/10] Test the notification-received signal @@ -282,10 +281,10 @@ index fc26c2b0dfc3..634b8ddeeb91 100644 class App : Gtk.Application diff --git a/src/app/app.cc b/src/app/app.cc -index 495bdcfa3768..8ae589ad2449 100644 +index d845b5ce26a4..90148baf34e3 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1671,6 +1671,14 @@ window_window_title_changed_cb(VteTerminal* terminal, +@@ -1679,6 +1679,14 @@ window_window_title_changed_cb(VteTerminal* terminal, vte_terminal_get_window_title(window->terminal)); } @@ -300,7 +299,7 @@ index 495bdcfa3768..8ae589ad2449 100644 static void window_lower_window_cb(VteTerminal* terminal, VteappWindow* window) -@@ -1899,6 +1907,8 @@ vteapp_window_constructed(GObject *object) +@@ -1907,6 +1915,8 @@ vteapp_window_constructed(GObject *object) if (options.object_notifications) g_signal_connect(window->terminal, "notify", G_CALLBACK(window_notify_cb), window); @@ -313,7 +312,7 @@ index 495bdcfa3768..8ae589ad2449 100644 2.20.1 -From 0cb697eee07433766360a7e85b6f0d2f520a75bf Mon Sep 17 00:00:00 2001 +From 0903623fab2a9d3b4653014e44a7dd717c162b7f Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 13 May 2016 17:53:54 +0200 Subject: [PATCH 04/10] Add a property to configure the scroll speed @@ -332,10 +331,10 @@ https://bugzilla.redhat.com/show_bug.cgi?id=1103380 6 files changed, 71 insertions(+), 1 deletion(-) diff --git a/doc/reference/vte-sections.txt b/doc/reference/vte-sections.txt -index 9ab873c17bfc..7b94f4df9a30 100644 +index 8b67f28359a4..b6a5fcfc2779 100644 --- a/doc/reference/vte-sections.txt +++ b/doc/reference/vte-sections.txt -@@ -55,6 +55,7 @@ vte_terminal_get_cursor_blink_mode +@@ -53,6 +53,7 @@ vte_terminal_get_cursor_blink_mode vte_terminal_set_cursor_blink_mode vte_terminal_get_text_blink_mode vte_terminal_set_text_blink_mode @@ -344,10 +343,10 @@ index 9ab873c17bfc..7b94f4df9a30 100644 vte_terminal_get_scrollback_lines vte_terminal_set_font diff --git a/src/vte.cc b/src/vte.cc -index cef9a05be18a..3ae3c8b33c00 100644 +index d5fc77536e54..8ca4ca03bcfb 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -9452,6 +9452,7 @@ void +@@ -9901,6 +9901,7 @@ void Terminal::widget_scroll(GdkEventScroll *event) { gdouble delta_x, delta_y; @@ -355,7 +354,7 @@ index cef9a05be18a..3ae3c8b33c00 100644 gdouble v; gint cnt, i; int button; -@@ -9505,7 +9506,13 @@ Terminal::widget_scroll(GdkEventScroll *event) +@@ -9957,7 +9958,13 @@ Terminal::widget_scroll(GdkEventScroll *event) return; } @@ -370,7 +369,7 @@ index cef9a05be18a..3ae3c8b33c00 100644 _vte_debug_print(VTE_DEBUG_EVENTS, "Scroll speed is %d lines per non-smooth scroll unit\n", (int) v); -@@ -9766,6 +9773,16 @@ Terminal::decscusr_cursor_shape() +@@ -10254,6 +10261,16 @@ Terminal::decscusr_cursor_shape() } } @@ -388,10 +387,10 @@ index cef9a05be18a..3ae3c8b33c00 100644 Terminal::set_scrollback_lines(long lines) { diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index abf1a38cb20d..c8ba72023370 100644 +index ea5c9313162a..90e3e05153a3 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h -@@ -296,6 +296,10 @@ void vte_terminal_set_cursor_shape(VteTerminal *terminal, +@@ -291,6 +291,10 @@ void vte_terminal_set_cursor_shape(VteTerminal *terminal, _VTE_PUBLIC VteCursorShape vte_terminal_get_cursor_shape(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); @@ -403,10 +402,10 @@ index abf1a38cb20d..c8ba72023370 100644 _VTE_PUBLIC void vte_terminal_set_scrollback_lines(VteTerminal *terminal, diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 03570d4c5554..b905b82b2514 100644 +index 92ff9d07752d..eb754969ac40 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -517,6 +517,9 @@ vte_terminal_get_property (GObject *object, +@@ -523,6 +523,9 @@ vte_terminal_get_property (GObject *object, case PROP_REWRAP_ON_RESIZE: g_value_set_boolean (value, vte_terminal_get_rewrap_on_resize (terminal)); break; @@ -416,7 +415,7 @@ index 03570d4c5554..b905b82b2514 100644 case PROP_SCROLLBACK_LINES: g_value_set_uint (value, vte_terminal_get_scrollback_lines(terminal)); break; -@@ -618,6 +621,9 @@ vte_terminal_set_property (GObject *object, +@@ -630,6 +633,9 @@ vte_terminal_set_property (GObject *object, case PROP_REWRAP_ON_RESIZE: vte_terminal_set_rewrap_on_resize (terminal, g_value_get_boolean (value)); break; @@ -426,7 +425,7 @@ index 03570d4c5554..b905b82b2514 100644 case PROP_SCROLLBACK_LINES: vte_terminal_set_scrollback_lines (terminal, g_value_get_uint (value)); break; -@@ -1562,6 +1568,21 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1693,6 +1699,21 @@ vte_terminal_class_init(VteTerminalClass *klass) TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)); @@ -448,7 +447,7 @@ index 03570d4c5554..b905b82b2514 100644 /** * VteTerminal:scrollback-lines: * -@@ -4111,6 +4132,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) +@@ -4335,6 +4356,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) return IMPL(terminal)->m_row_count; } @@ -480,10 +479,10 @@ index 03570d4c5554..b905b82b2514 100644 * vte_terminal_set_scrollback_lines: * @terminal: a #VteTerminal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index 126d29326f11..b2c9edfa8246 100644 +index c175f6d7b06f..5541e8a4f875 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh -@@ -86,6 +86,7 @@ enum { +@@ -88,6 +88,7 @@ enum { PROP_MOUSE_POINTER_AUTOHIDE, PROP_PTY, PROP_REWRAP_ON_RESIZE, @@ -492,10 +491,10 @@ index 126d29326f11..b2c9edfa8246 100644 PROP_SCROLL_ON_KEYSTROKE, PROP_SCROLL_ON_OUTPUT, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index dd4bd37c38e1..9cc246338151 100644 +index 554a4506f49f..1dd2467c9bc7 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -418,6 +418,7 @@ public: +@@ -423,6 +423,7 @@ public: /* Scrolling options. */ gboolean m_scroll_on_output; gboolean m_scroll_on_keystroke; @@ -503,9 +502,9 @@ index dd4bd37c38e1..9cc246338151 100644 vte::grid::row_t m_scrollback_lines; /* Restricted scrolling */ -@@ -1147,6 +1148,7 @@ public: - bool set_mouse_autohide(bool autohide); - bool set_pty(VtePty *pty); +@@ -1191,6 +1192,7 @@ public: + bool set_pty(VtePty *pty, + bool proces_remaining = true); bool set_rewrap_on_resize(bool rewrap); + bool set_scroll_speed(unsigned int scroll_speed); bool set_scrollback_lines(long lines); @@ -515,7 +514,7 @@ index dd4bd37c38e1..9cc246338151 100644 2.20.1 -From a97c47e18b9e244200e41203f6db439aa1b93b3a Mon Sep 17 00:00:00 2001 +From 09dfe4cb1a05299526646b030be90647a88e6a7b Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 13 May 2016 17:54:57 +0200 Subject: [PATCH 05/10] Test the scroll-speed property @@ -556,10 +555,10 @@ index 634b8ddeeb91..c984b868246d 100644 "Specify the number of scrollback-lines", null }, { "transparent", 'T', 0, OptionArg.INT, ref transparency_percent, diff --git a/src/app/app.cc b/src/app/app.cc -index 8ae589ad2449..589bd5679acd 100644 +index 90148baf34e3..2636defdef8f 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -93,6 +93,7 @@ public: +@@ -95,6 +95,7 @@ public: int verbosity{0}; double cell_height_scale{1.0}; double cell_width_scale{1.0}; @@ -567,7 +566,7 @@ index 8ae589ad2449..589bd5679acd 100644 VteCursorBlinkMode cursor_blink_mode{VTE_CURSOR_BLINK_SYSTEM}; VteCursorShape cursor_shape{VTE_CURSOR_SHAPE_BLOCK}; VteTextBlinkMode text_blink_mode{VTE_TEXT_BLINK_ALWAYS}; -@@ -405,6 +406,8 @@ public: +@@ -411,6 +412,8 @@ public: "Save terminal contents to file at exit", nullptr }, { "reverse", 0, 0, G_OPTION_ARG_NONE, &reverse, "Reverse foreground/background colors", nullptr }, @@ -576,7 +575,7 @@ index 8ae589ad2449..589bd5679acd 100644 { "scrollback-lines", 'n', 0, G_OPTION_ARG_INT, &scrollback_lines, "Specify the number of scrollback-lines (-1 for infinite)", nullptr }, { "transparent", 'T', 0, G_OPTION_ARG_INT, &transparency_percent, -@@ -1937,6 +1940,7 @@ vteapp_window_constructed(GObject *object) +@@ -1947,6 +1950,7 @@ vteapp_window_constructed(GObject *object) vte_terminal_set_rewrap_on_resize(window->terminal, !options.no_rewrap); vte_terminal_set_scroll_on_output(window->terminal, false); vte_terminal_set_scroll_on_keystroke(window->terminal, true); @@ -588,7 +587,7 @@ index 8ae589ad2449..589bd5679acd 100644 2.20.1 -From 11361619738505e4870a1de73611a33ffe4892fb Mon Sep 17 00:00:00 2001 +From be6f135af60af8b2699d507d5a74d8753d4a61cc Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 7 Jan 2015 16:01:00 +0100 Subject: [PATCH 06/10] Support preexec notifications from an interactive shell @@ -621,10 +620,10 @@ https://bugzilla.gnome.org/show_bug.cgi?id=711060 7 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/vte.cc b/src/vte.cc -index 3ae3c8b33c00..1d5fe099530c 100644 +index 8ca4ca03bcfb..eb3cd6b33c7f 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10231,6 +10231,13 @@ Terminal::emit_pending_signals() +@@ -10722,6 +10722,13 @@ Terminal::emit_pending_signals() m_notification_received = false; } @@ -639,10 +638,10 @@ index 3ae3c8b33c00..1d5fe099530c 100644 if (m_window_title != m_window_title_pending) { m_window_title.swap(m_window_title_pending); diff --git a/src/vte.sh b/src/vte.sh -index b75c6dac6f6e..dc4a127c9902 100644 +index ee010aa36505..ee424ce70521 100644 --- a/src/vte.sh +++ b/src/vte.sh -@@ -59,7 +59,7 @@ __vte_prompt_command() { +@@ -60,7 +60,7 @@ __vte_prompt_command() { case "$TERM" in xterm*|vte*) @@ -652,7 +651,7 @@ index b75c6dac6f6e..dc4a127c9902 100644 ;; esac diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index c8ba72023370..585b3f112bda 100644 +index 90e3e05153a3..3db163051077 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -105,9 +105,10 @@ struct _VteTerminalClass { @@ -668,10 +667,10 @@ index c8ba72023370..585b3f112bda 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index b905b82b2514..bed69be640f9 100644 +index eb754969ac40..cc502bf495d8 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -734,6 +734,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -746,6 +746,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->encoding_changed = NULL; klass->char_size_changed = NULL; klass->notification_received = NULL; @@ -679,7 +678,7 @@ index b905b82b2514..bed69be640f9 100644 klass->window_title_changed = NULL; klass->icon_title_changed = NULL; klass->selection_changed = NULL; -@@ -829,6 +830,23 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -847,6 +848,23 @@ vte_terminal_class_init(VteTerminalClass *klass) G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); @@ -704,7 +703,7 @@ index b905b82b2514..bed69be640f9 100644 * VteTerminal::window-title-changed: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index b2c9edfa8246..136ffa3b534d 100644 +index 5541e8a4f875..a4d9ac8ae1c5 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -52,6 +52,7 @@ enum { @@ -716,10 +715,10 @@ index b2c9edfa8246..136ffa3b534d 100644 SIGNAL_TEXT_INSERTED, SIGNAL_TEXT_MODIFIED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 9cc246338151..db8afddb04b0 100644 +index 1dd2467c9bc7..d2c49becaeae 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -545,6 +545,8 @@ public: +@@ -566,6 +566,8 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -729,10 +728,10 @@ index 9cc246338151..db8afddb04b0 100644 std::string m_current_directory_uri{}; std::string m_current_file_uri{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index fcc2cc872f4c..7ce20e7d91bc 100644 +index 3688462478e5..28de93f5b3af 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1359,6 +1359,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1423,6 +1423,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, m_notification_body = *token; return; } @@ -747,7 +746,7 @@ index fcc2cc872f4c..7ce20e7d91bc 100644 2.20.1 -From 0483ee805109e64912de062ffdd08d658016d372 Mon Sep 17 00:00:00 2001 +From e2b0e5ead4c1512bf06c887ad6d4c1af537fa353 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 20 Apr 2018 18:21:53 +0200 Subject: [PATCH 07/10] Test the shell-preexec signal @@ -784,10 +783,10 @@ index c984b868246d..83af686be106 100644 class App : Gtk.Application diff --git a/src/app/app.cc b/src/app/app.cc -index 589bd5679acd..df0856497f73 100644 +index 2636defdef8f..2d0c48576643 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1682,6 +1682,12 @@ notification_received_cb(VteTerminal *terminal, +@@ -1690,6 +1690,12 @@ notification_received_cb(VteTerminal *terminal, g_print("[%s]: %s\n", summary, body); } @@ -800,7 +799,7 @@ index 589bd5679acd..df0856497f73 100644 static void window_lower_window_cb(VteTerminal* terminal, VteappWindow* window) -@@ -1911,6 +1917,7 @@ vteapp_window_constructed(GObject *object) +@@ -1919,6 +1925,7 @@ vteapp_window_constructed(GObject *object) g_signal_connect(window->terminal, "notify", G_CALLBACK(window_notify_cb), window); g_signal_connect(window->terminal, "notification-received", G_CALLBACK(notification_received_cb), NULL); @@ -812,7 +811,7 @@ index 589bd5679acd..df0856497f73 100644 2.20.1 -From 1f8b311035b6b0d2f194917db7c84c18a893052e Mon Sep 17 00:00:00 2001 +From bbec4f9fe8d0387be88edf6ef2f16ef029adfd59 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 2 May 2018 17:20:30 +0200 Subject: [PATCH 08/10] Support precmd notifications from an interactive shell @@ -841,10 +840,10 @@ https://bugzilla.gnome.org/show_bug.cgi?id=711060 7 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/vte.cc b/src/vte.cc -index 1d5fe099530c..459f675fd55c 100644 +index eb3cd6b33c7f..d427f0995b2b 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10238,6 +10238,13 @@ Terminal::emit_pending_signals() +@@ -10729,6 +10729,13 @@ Terminal::emit_pending_signals() m_shell_preexec = FALSE; } @@ -859,20 +858,20 @@ index 1d5fe099530c..459f675fd55c 100644 if (m_window_title != m_window_title_pending) { m_window_title.swap(m_window_title_pending); diff --git a/src/vte.sh b/src/vte.sh -index dc4a127c9902..c1d6ee2c6f1d 100644 +index ee424ce70521..331bfec3d3ba 100644 --- a/src/vte.sh +++ b/src/vte.sh -@@ -54,7 +54,7 @@ __vte_prompt_command() { - command="${command//;/ }" +@@ -55,7 +55,7 @@ __vte_prompt_command() { local pwd='~' [ "$PWD" != "$HOME" ] && pwd=${PWD/#$HOME\//\~\/} + pwd="${pwd//[[:cntrl:]]}" - printf '\033]777;notify;Command completed;%s\033\\\033]0;%s@%s:%s\033\\%s' "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)" + printf '\033]777;notify;Command completed;%s\033\\\033]777;precmd\033\\\033]0;%s@%s:%s\033\\%s' "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)" } case "$TERM" in diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index 585b3f112bda..cb265294c96f 100644 +index 3db163051077..8ef9e1dcdeb4 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -105,10 +105,11 @@ struct _VteTerminalClass { @@ -889,10 +888,10 @@ index 585b3f112bda..cb265294c96f 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index bed69be640f9..d94e47e379f8 100644 +index cc502bf495d8..b93c76d00296 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -734,6 +734,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -746,6 +746,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->encoding_changed = NULL; klass->char_size_changed = NULL; klass->notification_received = NULL; @@ -900,7 +899,7 @@ index bed69be640f9..d94e47e379f8 100644 klass->shell_preexec = NULL; klass->window_title_changed = NULL; klass->icon_title_changed = NULL; -@@ -830,6 +831,23 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -848,6 +849,23 @@ vte_terminal_class_init(VteTerminalClass *klass) G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); @@ -925,7 +924,7 @@ index bed69be640f9..d94e47e379f8 100644 * VteTerminal::shell-preexec: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index 136ffa3b534d..bae75f4b1f6a 100644 +index a4d9ac8ae1c5..3d46483e3a56 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -52,6 +52,7 @@ enum { @@ -937,10 +936,10 @@ index 136ffa3b534d..bae75f4b1f6a 100644 SIGNAL_TEXT_DELETED, SIGNAL_TEXT_INSERTED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index db8afddb04b0..d81ac011dba5 100644 +index d2c49becaeae..8dd59f237d20 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -545,6 +545,7 @@ public: +@@ -566,6 +566,7 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -949,10 +948,10 @@ index db8afddb04b0..d81ac011dba5 100644 std::string m_window_title{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index 7ce20e7d91bc..8893ba53698a 100644 +index 28de93f5b3af..c0bce6995093 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1360,7 +1360,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1424,7 +1424,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, return; } @@ -967,7 +966,7 @@ index 7ce20e7d91bc..8893ba53698a 100644 2.20.1 -From 66b6900d5e188611263595db8d5cee61cccec258 Mon Sep 17 00:00:00 2001 +From 4767996ace813a6d5c8e1278cb5accd6005cfca1 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 2 May 2018 17:30:48 +0200 Subject: [PATCH 09/10] Test the shell-precmd signal @@ -1004,10 +1003,10 @@ index 83af686be106..300384f5c74b 100644 { print("[shell] executing command\n"); diff --git a/src/app/app.cc b/src/app/app.cc -index df0856497f73..37e06daf742f 100644 +index 2d0c48576643..e3ec0026e1dc 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1682,6 +1682,12 @@ notification_received_cb(VteTerminal *terminal, +@@ -1690,6 +1690,12 @@ notification_received_cb(VteTerminal *terminal, g_print("[%s]: %s\n", summary, body); } @@ -1020,7 +1019,7 @@ index df0856497f73..37e06daf742f 100644 static void shell_preexec_cb(VteTerminal *terminal) { -@@ -1917,6 +1923,7 @@ vteapp_window_constructed(GObject *object) +@@ -1925,6 +1931,7 @@ vteapp_window_constructed(GObject *object) g_signal_connect(window->terminal, "notify", G_CALLBACK(window_notify_cb), window); g_signal_connect(window->terminal, "notification-received", G_CALLBACK(notification_received_cb), NULL); @@ -1032,7 +1031,7 @@ index df0856497f73..37e06daf742f 100644 2.20.1 -From c28e1af61756ce2c4cffed0eec11e08928d75d92 Mon Sep 17 00:00:00 2001 +From 1470d44065d81a0d8e093b012489ba60333e8d65 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Mon, 10 Jun 2019 20:30:18 +0200 Subject: [PATCH 10/10] Support tracking the active container inside the @@ -1066,10 +1065,10 @@ agreed upon across multiple different terminal emulators [1]. 6 files changed, 127 insertions(+) diff --git a/src/vte.cc b/src/vte.cc -index 459f675fd55c..65278d45f9bf 100644 +index d427f0995b2b..2a328a37022a 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10259,6 +10259,15 @@ Terminal::emit_pending_signals() +@@ -10750,6 +10750,15 @@ Terminal::emit_pending_signals() m_window_title_changed = false; } @@ -1086,10 +1085,10 @@ index 459f675fd55c..65278d45f9bf 100644 if (m_current_directory_uri != m_current_directory_uri_pending) { m_current_directory_uri.swap(m_current_directory_uri_pending); diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index cb265294c96f..32c0538f37dd 100644 +index 8ef9e1dcdeb4..a59a15a81766 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h -@@ -459,6 +459,10 @@ glong vte_terminal_get_column_count(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); +@@ -467,6 +467,10 @@ glong vte_terminal_get_column_count(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); _VTE_PUBLIC const char *vte_terminal_get_window_title(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); _VTE_PUBLIC @@ -1101,7 +1100,7 @@ index cb265294c96f..32c0538f37dd 100644 _VTE_PUBLIC const char *vte_terminal_get_current_file_uri(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index d94e47e379f8..342ccfc98a9e 100644 +index b93c76d00296..e0e50ae12907 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc @@ -478,6 +478,12 @@ vte_terminal_get_property (GObject *object, @@ -1117,7 +1116,7 @@ index d94e47e379f8..342ccfc98a9e 100644 case PROP_CURRENT_DIRECTORY_URI: g_value_set_string (value, vte_terminal_get_current_directory_uri (terminal)); break; -@@ -1681,6 +1687,27 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1812,6 +1818,27 @@ vte_terminal_class_init(VteTerminalClass *klass) NULL, (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)); @@ -1145,7 +1144,7 @@ index d94e47e379f8..342ccfc98a9e 100644 /** * VteTerminal:current-directory-uri: * -@@ -3556,6 +3583,44 @@ vte_terminal_get_column_count(VteTerminal *terminal) +@@ -3704,6 +3731,44 @@ vte_terminal_get_column_count(VteTerminal *terminal) return IMPL(terminal)->m_column_count; } @@ -1191,7 +1190,7 @@ index d94e47e379f8..342ccfc98a9e 100644 * vte_terminal_get_current_directory_uri: * @terminal: a #VteTerminal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index bae75f4b1f6a..d6565a9d1d16 100644 +index 3d46483e3a56..24052b15f75c 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -76,6 +76,8 @@ enum { @@ -1204,10 +1203,10 @@ index bae75f4b1f6a..d6565a9d1d16 100644 PROP_CURRENT_FILE_URI, PROP_DELETE_BINDING, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index d81ac011dba5..f0c4a455cea3 100644 +index 8dd59f237d20..be13f827a85c 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -40,6 +40,7 @@ +@@ -41,6 +41,7 @@ #include #include @@ -1215,7 +1214,7 @@ index d81ac011dba5..f0c4a455cea3 100644 #include #include -@@ -109,6 +110,18 @@ typedef enum _VteCharacterReplacement { +@@ -118,6 +119,18 @@ typedef enum _VteCharacterReplacement { VTE_CHARACTER_REPLACEMENT_BRITISH } VteCharacterReplacement; @@ -1234,7 +1233,7 @@ index d81ac011dba5..f0c4a455cea3 100644 typedef struct _VtePaletteColor { struct { vte::color::rgb color; -@@ -540,6 +553,9 @@ public: +@@ -561,6 +574,9 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -1245,10 +1244,10 @@ index d81ac011dba5..f0c4a455cea3 100644 bool m_notification_received{false}; std::string m_notification_summary; diff --git a/src/vteseq.cc b/src/vteseq.cc -index 8893ba53698a..dcee8767b63f 100644 +index c0bce6995093..dd64310caaf7 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1342,6 +1342,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1406,6 +1406,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, if (token == endtoken) return; diff --git a/vte291.spec b/vte291.spec index 8e609fb..cacc1f7 100644 --- a/vte291.spec +++ b/vte291.spec @@ -1,13 +1,15 @@ %global apiver 2.91 +%global fribidi_version 1.0.0 +%global glib2_version 2.40.0 %global gnutls_version 3.2.7 %global gtk3_version 3.19.5 %global pango_version 1.22.0 %global pcre2_version 10.21 Name: vte291 -Version: 0.57.0 -Release: 2%{?dist} +Version: 0.57.3 +Release: 1%{?dist} Summary: Terminal emulator library License: LGPLv2+ @@ -20,7 +22,11 @@ Patch100: vte291-cntnr-precmd-preexec-scroll.patch BuildRequires: gcc-c++ BuildRequires: gettext +BuildRequires: pkgconfig(fribidi) >= %{fribidi_version} +BuildRequires: pkgconfig(gio-2.0) >= %{glib2_version} +BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} BuildRequires: pkgconfig(gnutls) >= %{gnutls_version} +BuildRequires: pkgconfig(gobject-2.0) >= %{glib2_version} BuildRequires: gobject-introspection-devel BuildRequires: gperf BuildRequires: gtk-doc @@ -30,6 +36,8 @@ BuildRequires: pkgconfig(libpcre2-8) >= %{pcre2_version} BuildRequires: pkgconfig(pango) >= %{pango_version} BuildRequires: vala +Requires: fribidi >= %{fribidi_version} +Requires: glib2 >= %{glib2_version} Requires: gnutls%{?_isa} >= %{gnutls_version} Requires: gtk3%{?_isa} >= %{gtk3_version} Requires: pango >= %{pango_version} @@ -97,6 +105,10 @@ emulator library. %{_sysconfdir}/profile.d/vte.sh %changelog +* Tue Jul 02 2019 Debarshi Ray - 0.57.3-1 +- Update to 0.57.3 +- Rebase downstream patches + * Wed Jun 19 2019 Debarshi Ray - 0.57.0-2 - Support tracking the active container inside the terminal