From 22ab67e5cbe86a5323db0caee8c50ac0109e2527 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 20 Feb 2020 16:04:04 +0100 Subject: [PATCH] Update to 0.59.91 - Rebase downstream patches --- .gitignore | 1 + sources | 2 +- vte291-cntnr-precmd-preexec-scroll.patch | 252 +++++++++++------------ vte291.spec | 16 +- 4 files changed, 143 insertions(+), 128 deletions(-) diff --git a/.gitignore b/.gitignore index c07a9d0..c26bd6d 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ /vte-0.58.2.tar.xz /vte-0.58.3.tar.xz /vte-0.59.0.tar.xz +/vte-0.59.91.tar.xz diff --git a/sources b/sources index 5136aa4..d1db3d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vte-0.59.0.tar.xz) = 533d1e87a699137a33a6ddb82bf0f010925ba578974e1f6c87bae0b497309dd84c3cb2f5f6884f34f7fbcfad94fbaa07eb3a80387ee9f16b5f3f0ea2679e7376 +SHA512 (vte-0.59.91.tar.xz) = 29d4ec3afeb117427880fa377d92f5b185ccdeac58d4bbd9af3042bd30cb021fcd65e12dc7ae0e0febaff2863a2f3b17f5112144e063fb233789c097e5644d4e diff --git a/vte291-cntnr-precmd-preexec-scroll.patch b/vte291-cntnr-precmd-preexec-scroll.patch index a20c1b2..3e425e2 100644 --- a/vte291-cntnr-precmd-preexec-scroll.patch +++ b/vte291-cntnr-precmd-preexec-scroll.patch @@ -1,4 +1,4 @@ -From c40936e82cf274b1fe828ec5f3ac2cc5acd6a6cf Mon Sep 17 00:00:00 2001 +From e7e3b8b73367060135627028e6d148c5ba601cb7 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 @@ -36,10 +36,10 @@ index 241128c3ccfe..4412cf3d5f5c 100644 VOID:STRING,UINT VOID:UINT,UINT diff --git a/src/vte.cc b/src/vte.cc -index 45d480c83f67..afc394c6f633 100644 +index c1c85f7a1f69..2e16d0cdee3e 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10427,6 +10427,15 @@ Terminal::emit_pending_signals() +@@ -10239,6 +10239,15 @@ Terminal::emit_pending_signals() emit_adjustment_changed(); @@ -56,7 +56,7 @@ index 45d480c83f67..afc394c6f633 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 cf02367d1a18..4c69e37cf7d5 100644 +index 31012518362e..6ad0987d22ca 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -104,8 +104,10 @@ struct _VteTerminalClass { @@ -72,10 +72,10 @@ index cf02367d1a18..4c69e37cf7d5 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index fe5d1c4134f9..12c37e5c56a8 100644 +index 33534b4c758e..c012bf6c54d7 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -729,6 +729,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -738,6 +738,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->child_exited = NULL; klass->encoding_changed = NULL; klass->char_size_changed = NULL; @@ -83,7 +83,7 @@ index fe5d1c4134f9..12c37e5c56a8 100644 klass->window_title_changed = NULL; klass->icon_title_changed = NULL; klass->selection_changed = NULL; -@@ -810,6 +811,26 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -819,6 +820,26 @@ vte_terminal_class_init(VteTerminalClass *klass) G_OBJECT_CLASS_TYPE(klass), g_cclosure_marshal_VOID__INTv); @@ -111,7 +111,7 @@ index fe5d1c4134f9..12c37e5c56a8 100644 * VteTerminal::window-title-changed: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index e2515b3491ae..c175f6d7b06f 100644 +index ae9fb08c310a..baf681e45b2c 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -56,6 +56,7 @@ enum { @@ -123,10 +123,10 @@ index e2515b3491ae..c175f6d7b06f 100644 LAST_SIGNAL }; diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 17d1c4db4fe8..a5df13416d6e 100644 +index 93e905270c29..ae4f705ea80d 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -631,6 +631,11 @@ public: +@@ -709,6 +709,11 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -138,7 +138,7 @@ index 17d1c4db4fe8..a5df13416d6e 100644 std::string m_window_title{}; std::string m_current_directory_uri{}; std::string m_current_file_uri{}; -@@ -1381,6 +1386,9 @@ public: +@@ -1426,6 +1431,9 @@ public: int osc) noexcept; /* OSC handlers */ @@ -149,10 +149,10 @@ index 17d1c4db4fe8..a5df13416d6e 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 771a413b07df..932964a1b19e 100644 +index f05b67e0252b..13cae0934b22 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1397,6 +1397,33 @@ Terminal::delete_lines(vte::grid::row_t param) +@@ -1377,6 +1377,33 @@ Terminal::delete_lines(vte::grid::row_t param) m_text_deleted_flag = TRUE; } @@ -186,7 +186,7 @@ index 771a413b07df..932964a1b19e 100644 bool Terminal::get_osc_color_index(int osc, int value, -@@ -6487,6 +6514,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6464,6 +6491,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) reset_color(VTE_HIGHLIGHT_FG, VTE_COLOR_SOURCE_ESCAPE); break; @@ -197,7 +197,7 @@ index 771a413b07df..932964a1b19e 100644 case VTE_OSC_XTERM_SET_ICON_TITLE: case VTE_OSC_XTERM_SET_XPROPERTY: case VTE_OSC_XTERM_SET_COLOR_MOUSE_CURSOR_FG: -@@ -6527,7 +6558,6 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6504,7 +6535,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: @@ -209,7 +209,7 @@ index 771a413b07df..932964a1b19e 100644 2.24.1 -From 7dc608083309754da4f6801657ea42709609dbea Mon Sep 17 00:00:00 2001 +From b3c6f5757073e04cf0604ba348fd69f8d0ef05de 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 @@ -220,14 +220,14 @@ singles fixes it. https://bugzilla.gnome.org/show_bug.cgi?id=711059 --- - src/vte.sh | 4 +++- + src/vte.sh.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -diff --git a/src/vte.sh b/src/vte.sh -index c200493c34a6..ee010aa36505 100644 ---- a/src/vte.sh -+++ b/src/vte.sh -@@ -50,10 +50,12 @@ __vte_osc7 () { +diff --git a/src/vte.sh.in b/src/vte.sh.in +index 8b3153da0f1a..d6769de82766 100644 +--- a/src/vte.sh.in ++++ b/src/vte.sh.in +@@ -27,10 +27,12 @@ __vte_osc7 () { } __vte_prompt_command() { @@ -236,16 +236,16 @@ index c200493c34a6..ee010aa36505 100644 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)" +- printf "\033]0;%s@%s:%s\033\\" "${USER}" "${HOSTNAME%%.*}" "${pwd}" ++ printf '\033]777;notify;Command completed;%s\033\\\033]0;%s@%s:%s\033\\' "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" + __vte_osc7 } - case "$TERM" in -- 2.24.1 -From 1bf1f20f1d6fe60f0d1898011fe7c3e21a5c55c1 Mon Sep 17 00:00:00 2001 +From afde67f33dca5651cfb31612f130caac712b9fd4 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 @@ -281,10 +281,10 @@ index fc26c2b0dfc3..634b8ddeeb91 100644 class App : Gtk.Application diff --git a/src/app/app.cc b/src/app/app.cc -index 5e9f852f19be..cc8aaee14265 100644 +index 6257c2f1c0e8..842b0408836f 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1673,6 +1673,14 @@ window_window_title_changed_cb(VteTerminal* terminal, +@@ -1636,6 +1636,14 @@ window_window_title_changed_cb(VteTerminal* terminal, vte_terminal_get_window_title(window->terminal)); } @@ -299,7 +299,7 @@ index 5e9f852f19be..cc8aaee14265 100644 static void window_lower_window_cb(VteTerminal* terminal, VteappWindow* window) -@@ -1901,6 +1909,8 @@ vteapp_window_constructed(GObject *object) +@@ -1864,6 +1872,8 @@ vteapp_window_constructed(GObject *object) if (options.object_notifications) g_signal_connect(window->terminal, "notify", G_CALLBACK(window_notify_cb), window); @@ -312,7 +312,7 @@ index 5e9f852f19be..cc8aaee14265 100644 2.24.1 -From bb1b7dba7b0137aa64443332025765a6a02f4d82 Mon Sep 17 00:00:00 2001 +From 763bab8df736d7f8b812a4004f4ba2401227ce05 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 @@ -331,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 8b67f28359a4..b6a5fcfc2779 100644 +index 20067c88bae3..2cc8d70ca4f9 100644 --- a/doc/reference/vte-sections.txt +++ b/doc/reference/vte-sections.txt -@@ -53,6 +53,7 @@ vte_terminal_get_cursor_blink_mode +@@ -52,6 +52,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 @@ -343,10 +343,10 @@ index 8b67f28359a4..b6a5fcfc2779 100644 vte_terminal_get_scrollback_lines vte_terminal_set_font diff --git a/src/vte.cc b/src/vte.cc -index afc394c6f633..454bf3a7da23 100644 +index 2e16d0cdee3e..ee71d6b0f1c5 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -9632,6 +9632,7 @@ void +@@ -9443,6 +9443,7 @@ void Terminal::widget_scroll(GdkEventScroll *event) { gdouble delta_x, delta_y; @@ -354,13 +354,13 @@ index afc394c6f633..454bf3a7da23 100644 gdouble v; gint cnt, i; int button; -@@ -9688,7 +9689,13 @@ Terminal::widget_scroll(GdkEventScroll *event) +@@ -9499,7 +9500,13 @@ Terminal::widget_scroll(GdkEventScroll *event) return; } -- v = MAX (1., ceil (gtk_adjustment_get_page_increment (m_vadjustment) / 10.)); +- v = MAX (1., ceil (gtk_adjustment_get_page_increment (m_vadjustment.get()) / 10.)); + if (m_scroll_speed == 0) { -+ scroll_speed = ceil (gtk_adjustment_get_page_increment (m_vadjustment) / 10.); ++ scroll_speed = ceil (gtk_adjustment_get_page_increment (m_vadjustment.get()) / 10.); + } else { + scroll_speed = m_scroll_speed; + } @@ -369,7 +369,7 @@ index afc394c6f633..454bf3a7da23 100644 _vte_debug_print(VTE_DEBUG_EVENTS, "Scroll speed is %d lines per non-smooth scroll unit\n", (int) v); -@@ -9985,6 +9992,16 @@ Terminal::decscusr_cursor_shape() +@@ -9796,6 +9803,16 @@ Terminal::decscusr_cursor_shape() const noexcept } } @@ -387,10 +387,10 @@ index afc394c6f633..454bf3a7da23 100644 Terminal::set_scrollback_lines(long lines) { diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index 4c69e37cf7d5..af9818d6447b 100644 +index 6ad0987d22ca..94febee1d494 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h -@@ -291,6 +291,10 @@ void vte_terminal_set_cursor_shape(VteTerminal *terminal, +@@ -287,6 +287,10 @@ void vte_terminal_set_cursor_shape(VteTerminal *terminal, _VTE_PUBLIC VteCursorShape vte_terminal_get_cursor_shape(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); @@ -402,10 +402,10 @@ index 4c69e37cf7d5..af9818d6447b 100644 _VTE_PUBLIC void vte_terminal_set_scrollback_lines(VteTerminal *terminal, diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 12c37e5c56a8..570da86dc39d 100644 +index c012bf6c54d7..cbfc44670e2e 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -519,6 +519,9 @@ vte_terminal_get_property (GObject *object, +@@ -528,6 +528,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; @@ -415,7 +415,7 @@ index 12c37e5c56a8..570da86dc39d 100644 case PROP_SCROLLBACK_LINES: g_value_set_uint (value, vte_terminal_get_scrollback_lines(terminal)); break; -@@ -626,6 +629,9 @@ vte_terminal_set_property (GObject *object, +@@ -635,6 +638,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; @@ -425,7 +425,7 @@ index 12c37e5c56a8..570da86dc39d 100644 case PROP_SCROLLBACK_LINES: vte_terminal_set_scrollback_lines (terminal, g_value_get_uint (value)); break; -@@ -1684,6 +1690,21 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1708,6 +1714,21 @@ vte_terminal_class_init(VteTerminalClass *klass) TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)); @@ -447,7 +447,7 @@ index 12c37e5c56a8..570da86dc39d 100644 /** * VteTerminal:scrollback-lines: * -@@ -4326,6 +4347,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) +@@ -4420,6 +4441,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) return IMPL(terminal)->m_row_count; } @@ -479,7 +479,7 @@ index 12c37e5c56a8..570da86dc39d 100644 * vte_terminal_set_scrollback_lines: * @terminal: a #VteTerminal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index c175f6d7b06f..5541e8a4f875 100644 +index baf681e45b2c..a9c256635948 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -88,6 +88,7 @@ enum { @@ -491,20 +491,20 @@ index c175f6d7b06f..5541e8a4f875 100644 PROP_SCROLL_ON_KEYSTROKE, PROP_SCROLL_ON_OUTPUT, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index a5df13416d6e..e34a4c57cfaf 100644 +index ae4f705ea80d..9c0b8b454468 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -423,6 +423,7 @@ public: +@@ -487,6 +487,7 @@ public: /* Scrolling options. */ - gboolean m_scroll_on_output; - gboolean m_scroll_on_keystroke; + bool m_scroll_on_output{false}; + bool m_scroll_on_keystroke{true}; + guint m_scroll_speed; - vte::grid::row_t m_scrollback_lines; + vte::grid::row_t m_scrollback_lines{0}; /* Restricted scrolling */ -@@ -1259,6 +1260,7 @@ public: - bool set_pty(VtePty *pty, - bool proces_remaining = true); +@@ -1304,6 +1305,7 @@ public: + bool set_input_enabled(bool enabled); + bool set_mouse_autohide(bool autohide); bool set_rewrap_on_resize(bool rewrap); + bool set_scroll_speed(unsigned int scroll_speed); bool set_scrollback_lines(long lines); @@ -514,7 +514,7 @@ index a5df13416d6e..e34a4c57cfaf 100644 2.24.1 -From 1d6ddc80ea7b9daa02d45f478ee99e1bc82792bf Mon Sep 17 00:00:00 2001 +From 479cff28fe58bad250b07c8cecf2cf741ed3e1ae 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 @@ -555,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 cc8aaee14265..218fd7a9e8d8 100644 +index 842b0408836f..f40495f77ecf 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -95,6 +95,7 @@ public: +@@ -97,6 +97,7 @@ public: int verbosity{0}; double cell_height_scale{1.0}; double cell_width_scale{1.0}; @@ -566,16 +566,16 @@ index cc8aaee14265..218fd7a9e8d8 100644 VteCursorBlinkMode cursor_blink_mode{VTE_CURSOR_BLINK_SYSTEM}; VteCursorShape cursor_shape{VTE_CURSOR_SHAPE_BLOCK}; VteTextBlinkMode text_blink_mode{VTE_TEXT_BLINK_ALWAYS}; -@@ -411,6 +412,8 @@ public: - "Save terminal contents to file at exit", nullptr }, - { "reverse", 0, 0, G_OPTION_ARG_NONE, &reverse, +@@ -415,6 +416,8 @@ public: "Reverse foreground/background colors", nullptr }, + { "require-systemd-scope", 0, 0, G_OPTION_ARG_NONE, &require_systemd_scope, + "Require use of a systemd user scope", nullptr }, + { "scroll-speed", 0, 0, G_OPTION_ARG_INT, &scroll_speed, + "Specify the scroll speed", nullptr }, { "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, -@@ -1944,6 +1947,7 @@ vteapp_window_constructed(GObject *object) +@@ -1905,6 +1908,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); @@ -587,7 +587,7 @@ index cc8aaee14265..218fd7a9e8d8 100644 2.24.1 -From 88fb27490d87bfb9daf669ea555ed0a679ce98cf Mon Sep 17 00:00:00 2001 +From 5a08736420dea1ed7e784f19cf93ae19944b0aa2 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 @@ -611,7 +611,7 @@ https://bugzilla.gnome.org/show_bug.cgi?id=711059 https://bugzilla.gnome.org/show_bug.cgi?id=711060 --- src/vte.cc | 7 +++++++ - src/vte.sh | 2 +- + src/vte.sh.in | 2 +- src/vte/vteterminal.h | 3 ++- src/vtegtk.cc | 18 ++++++++++++++++++ src/vtegtk.hh | 1 + @@ -620,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 454bf3a7da23..4d64f69f15dc 100644 +index ee71d6b0f1c5..6c95909b2e79 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10453,6 +10453,13 @@ Terminal::emit_pending_signals() +@@ -10265,6 +10265,13 @@ Terminal::emit_pending_signals() m_notification_received = false; } @@ -637,11 +637,11 @@ index 454bf3a7da23..4d64f69f15dc 100644 if (m_window_title_changed) { 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 ee010aa36505..ee424ce70521 100644 ---- a/src/vte.sh -+++ b/src/vte.sh -@@ -60,7 +60,7 @@ __vte_prompt_command() { +diff --git a/src/vte.sh.in b/src/vte.sh.in +index d6769de82766..e4ff39e9d405 100644 +--- a/src/vte.sh.in ++++ b/src/vte.sh.in +@@ -38,7 +38,7 @@ __vte_prompt_command() { case "$TERM" in xterm*|vte*) @@ -651,7 +651,7 @@ index ee010aa36505..ee424ce70521 100644 ;; esac diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index af9818d6447b..57f00989d4f6 100644 +index 94febee1d494..2d757afbdcc0 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -105,9 +105,10 @@ struct _VteTerminalClass { @@ -667,10 +667,10 @@ index af9818d6447b..57f00989d4f6 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 570da86dc39d..858fea4b2e50 100644 +index cbfc44670e2e..83c8ebc37a1b 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -736,6 +736,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -745,6 +745,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->encoding_changed = NULL; klass->char_size_changed = NULL; klass->notification_received = NULL; @@ -678,7 +678,7 @@ index 570da86dc39d..858fea4b2e50 100644 klass->window_title_changed = NULL; klass->icon_title_changed = NULL; klass->selection_changed = NULL; -@@ -837,6 +838,23 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -846,6 +847,23 @@ vte_terminal_class_init(VteTerminalClass *klass) G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); @@ -703,7 +703,7 @@ index 570da86dc39d..858fea4b2e50 100644 * VteTerminal::window-title-changed: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index 5541e8a4f875..a4d9ac8ae1c5 100644 +index a9c256635948..79c528ea8243 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -52,6 +52,7 @@ enum { @@ -715,10 +715,10 @@ index 5541e8a4f875..a4d9ac8ae1c5 100644 SIGNAL_TEXT_INSERTED, SIGNAL_TEXT_MODIFIED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index e34a4c57cfaf..774eff8870a2 100644 +index 9c0b8b454468..dd98905860f4 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -637,6 +637,8 @@ public: +@@ -715,6 +715,8 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -728,10 +728,10 @@ index e34a4c57cfaf..774eff8870a2 100644 std::string m_current_directory_uri{}; std::string m_current_file_uri{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index 932964a1b19e..3b82d914c544 100644 +index 13cae0934b22..cc31e9c06364 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1422,6 +1422,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1402,6 +1402,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, m_notification_body = *token; return; } @@ -746,7 +746,7 @@ index 932964a1b19e..3b82d914c544 100644 2.24.1 -From 6d5a0397ed1023deb0c42bcfa74166f42e034a2c Mon Sep 17 00:00:00 2001 +From e6709af27700bb9fca3d856ae7ebb4a1e2095a04 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 @@ -783,10 +783,10 @@ index c984b868246d..83af686be106 100644 class App : Gtk.Application diff --git a/src/app/app.cc b/src/app/app.cc -index 218fd7a9e8d8..267ad650844c 100644 +index f40495f77ecf..ce480ed70aae 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1684,6 +1684,12 @@ notification_received_cb(VteTerminal *terminal, +@@ -1647,6 +1647,12 @@ notification_received_cb(VteTerminal *terminal, g_print("[%s]: %s\n", summary, body); } @@ -799,7 +799,7 @@ index 218fd7a9e8d8..267ad650844c 100644 static void window_lower_window_cb(VteTerminal* terminal, VteappWindow* window) -@@ -1913,6 +1919,7 @@ vteapp_window_constructed(GObject *object) +@@ -1876,6 +1882,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); @@ -811,7 +811,7 @@ index 218fd7a9e8d8..267ad650844c 100644 2.24.1 -From f17c99d8727513c643c8380097bf1690b519b369 Mon Sep 17 00:00:00 2001 +From 61810a3bfb4b059bb5d9c13896c82625d09d147c 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 @@ -831,7 +831,7 @@ https://bugzilla.gnome.org/show_bug.cgi?id=711059 https://bugzilla.gnome.org/show_bug.cgi?id=711060 --- src/vte.cc | 7 +++++++ - src/vte.sh | 2 +- + src/vte.sh.in | 2 +- src/vte/vteterminal.h | 3 ++- src/vtegtk.cc | 18 ++++++++++++++++++ src/vtegtk.hh | 1 + @@ -840,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 4d64f69f15dc..0e6dbdf13e68 100644 +index 6c95909b2e79..3d6f856fb31c 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10460,6 +10460,13 @@ Terminal::emit_pending_signals() +@@ -10272,6 +10272,13 @@ Terminal::emit_pending_signals() m_shell_preexec = FALSE; } @@ -857,21 +857,21 @@ index 4d64f69f15dc..0e6dbdf13e68 100644 if (m_window_title_changed) { 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 ee424ce70521..331bfec3d3ba 100644 ---- a/src/vte.sh -+++ b/src/vte.sh -@@ -55,7 +55,7 @@ __vte_prompt_command() { +diff --git a/src/vte.sh.in b/src/vte.sh.in +index e4ff39e9d405..d0b88d658607 100644 +--- a/src/vte.sh.in ++++ b/src/vte.sh.in +@@ -32,7 +32,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)" +- printf '\033]777;notify;Command completed;%s\033\\\033]0;%s@%s:%s\033\\' "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" ++ printf '\033]777;notify;Command completed;%s\033\\\033]777;precmd\033\\\033]0;%s@%s:%s\033\\' "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" + __vte_osc7 } - case "$TERM" in diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index 57f00989d4f6..21d99e6abd93 100644 +index 2d757afbdcc0..a75ae7ee2640 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -105,10 +105,11 @@ struct _VteTerminalClass { @@ -888,10 +888,10 @@ index 57f00989d4f6..21d99e6abd93 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 858fea4b2e50..6c53aec2eab1 100644 +index 83c8ebc37a1b..af4056299ae3 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -736,6 +736,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -745,6 +745,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->encoding_changed = NULL; klass->char_size_changed = NULL; klass->notification_received = NULL; @@ -899,7 +899,7 @@ index 858fea4b2e50..6c53aec2eab1 100644 klass->shell_preexec = NULL; klass->window_title_changed = NULL; klass->icon_title_changed = NULL; -@@ -838,6 +839,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); @@ -924,7 +924,7 @@ index 858fea4b2e50..6c53aec2eab1 100644 * VteTerminal::shell-preexec: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index a4d9ac8ae1c5..3d46483e3a56 100644 +index 79c528ea8243..534298ada75c 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -52,6 +52,7 @@ enum { @@ -936,10 +936,10 @@ index a4d9ac8ae1c5..3d46483e3a56 100644 SIGNAL_TEXT_DELETED, SIGNAL_TEXT_INSERTED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 774eff8870a2..842755f92915 100644 +index dd98905860f4..6b1feb377df7 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -637,6 +637,7 @@ public: +@@ -715,6 +715,7 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -948,10 +948,10 @@ index 774eff8870a2..842755f92915 100644 std::string m_window_title{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index 3b82d914c544..d21181684a75 100644 +index cc31e9c06364..06170cc58ab6 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1423,7 +1423,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1403,7 +1403,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, return; } @@ -966,7 +966,7 @@ index 3b82d914c544..d21181684a75 100644 2.24.1 -From 8e38fc8dc123a796ec5fc4202115ea9a09f5d2d8 Mon Sep 17 00:00:00 2001 +From 89bb0922590820b86ced74be1181104dadca19a7 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 @@ -1003,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 267ad650844c..eab844eabc4a 100644 +index ce480ed70aae..9583b1a83481 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1684,6 +1684,12 @@ notification_received_cb(VteTerminal *terminal, +@@ -1647,6 +1647,12 @@ notification_received_cb(VteTerminal *terminal, g_print("[%s]: %s\n", summary, body); } @@ -1019,7 +1019,7 @@ index 267ad650844c..eab844eabc4a 100644 static void shell_preexec_cb(VteTerminal *terminal) { -@@ -1919,6 +1925,7 @@ vteapp_window_constructed(GObject *object) +@@ -1882,6 +1888,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); @@ -1031,7 +1031,7 @@ index 267ad650844c..eab844eabc4a 100644 2.24.1 -From 0ec82af9c13db70a3275467daff7aa268fea6348 Mon Sep 17 00:00:00 2001 +From 2edbaae5c6169164ae6f5a427433fb208d725874 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 @@ -1065,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 0e6dbdf13e68..c99d19702b10 100644 +index 3d6f856fb31c..9d1c9711838d 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10481,6 +10481,15 @@ Terminal::emit_pending_signals() +@@ -10293,6 +10293,15 @@ Terminal::emit_pending_signals() m_window_title_changed = false; } @@ -1085,10 +1085,10 @@ index 0e6dbdf13e68..c99d19702b10 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 21d99e6abd93..b55df3f76e50 100644 +index a75ae7ee2640..53de9c737000 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h -@@ -462,6 +462,10 @@ glong vte_terminal_get_column_count(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); +@@ -458,6 +458,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 @@ -1100,10 +1100,10 @@ index 21d99e6abd93..b55df3f76e50 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 6c53aec2eab1..2427e6bfd2a1 100644 +index af4056299ae3..de5f96ff25c2 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -474,6 +474,12 @@ vte_terminal_get_property (GObject *object, +@@ -483,6 +483,12 @@ vte_terminal_get_property (GObject *object, case PROP_CURSOR_BLINK_MODE: g_value_set_enum (value, vte_terminal_get_cursor_blink_mode (terminal)); break; @@ -1116,7 +1116,7 @@ index 6c53aec2eab1..2427e6bfd2a1 100644 case PROP_CURRENT_DIRECTORY_URI: g_value_set_string (value, vte_terminal_get_current_directory_uri (terminal)); break; -@@ -1803,6 +1809,27 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1827,6 +1833,27 @@ vte_terminal_class_init(VteTerminalClass *klass) NULL, (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)); @@ -1144,7 +1144,7 @@ index 6c53aec2eab1..2427e6bfd2a1 100644 /** * VteTerminal:current-directory-uri: * -@@ -3699,6 +3726,44 @@ vte_terminal_get_column_count(VteTerminal *terminal) +@@ -3797,6 +3824,44 @@ vte_terminal_get_column_count(VteTerminal *terminal) return IMPL(terminal)->m_column_count; } @@ -1190,7 +1190,7 @@ index 6c53aec2eab1..2427e6bfd2a1 100644 * vte_terminal_get_current_directory_uri: * @terminal: a #VteTerminal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index 3d46483e3a56..24052b15f75c 100644 +index 534298ada75c..66d2f1425fad 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -76,6 +76,8 @@ enum { @@ -1203,19 +1203,19 @@ index 3d46483e3a56..24052b15f75c 100644 PROP_CURRENT_FILE_URI, PROP_DELETE_BINDING, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 842755f92915..20c4bcc5d900 100644 +index 6b1feb377df7..2329d7fd4c13 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -41,6 +41,7 @@ - +@@ -61,6 +61,7 @@ #include #include + #include +#include #include #include #include -@@ -118,6 +119,18 @@ typedef enum _VteCharacterReplacement { - VTE_CHARACTER_REPLACEMENT_BRITISH +@@ -98,6 +99,18 @@ typedef enum _VteCharacterReplacement { + VTE_CHARACTER_REPLACEMENT_LINE_DRAWING } VteCharacterReplacement; +struct VteContainer { @@ -1233,7 +1233,7 @@ index 842755f92915..20c4bcc5d900 100644 typedef struct _VtePaletteColor { struct { vte::color::rgb color; -@@ -632,6 +645,9 @@ public: +@@ -710,6 +723,9 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -1244,10 +1244,10 @@ index 842755f92915..20c4bcc5d900 100644 bool m_notification_received{false}; std::string m_notification_summary; diff --git a/src/vteseq.cc b/src/vteseq.cc -index d21181684a75..a521241df03f 100644 +index 06170cc58ab6..cee7e2b702ea 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1405,6 +1405,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1385,6 +1385,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, if (token == endtoken) return; diff --git a/vte291.spec b/vte291.spec index 5f8e3f1..c32ccc2 100644 --- a/vte291.spec +++ b/vte291.spec @@ -4,11 +4,13 @@ %global glib2_version 2.52.0 %global gnutls_version 3.2.7 %global gtk3_version 3.20.0 +%global icu_uc_version 4.8 +%global libsystemd_version 220 %global pango_version 1.22.0 %global pcre2_version 10.21 Name: vte291 -Version: 0.59.0 +Version: 0.59.91 Release: 1%{?dist} Summary: Terminal emulator library @@ -32,16 +34,21 @@ BuildRequires: gperf BuildRequires: gtk-doc BuildRequires: meson BuildRequires: pkgconfig(gtk+-3.0) >= %{gtk3_version} +BuildRequires: pkgconfig(icu-uc) >= %{icu_uc_version} BuildRequires: pkgconfig(libpcre2-8) >= %{pcre2_version} +BuildRequires: pkgconfig(libsystemd) >= %{libsystemd_version} BuildRequires: pkgconfig(pango) >= %{pango_version} +BuildRequires: systemd-rpm-macros BuildRequires: vala Requires: fribidi >= %{fribidi_version} Requires: glib2 >= %{glib2_version} Requires: gnutls%{?_isa} >= %{gnutls_version} Requires: gtk3%{?_isa} >= %{gtk3_version} +Requires: libicu%{?_isa} >= %{icu_uc_version} Requires: pango >= %{pango_version} Requires: pcre2%{?_isa} >= %{pcre2_version} +Requires: systemd >= %{libsystemd_version} Requires: vte-profile Conflicts: gnome-terminal < 3.20.1-2 @@ -95,6 +102,8 @@ emulator library. %doc NEWS %{_libdir}/libvte-%{apiver}.so.0* %{_libdir}/girepository-1.0/ +%{_libexecdir}/vte-urlencode-cwd +%{_userunitdir}/vte-spawn-.scope.d %files devel %{_bindir}/vte-%{apiver} @@ -106,9 +115,14 @@ emulator library. %{_datadir}/vala/ %files -n vte-profile +%{_sysconfdir}/profile.d/vte.csh %{_sysconfdir}/profile.d/vte.sh %changelog +* Thu Feb 20 2020 Debarshi Ray - 0.59.91-1 +- Update to 0.59.91 +- Rebase downstream patches + * Wed Feb 19 2020 Debarshi Ray - 0.59.0-1 - Update to 0.59.0 - Rebase downstream patches