diff --git a/vte291-cntnr-precmd-preexec-scroll.patch b/vte291-cntnr-precmd-preexec-scroll.patch index 2a9267f..9d1b89f 100644 --- a/vte291-cntnr-precmd-preexec-scroll.patch +++ b/vte291-cntnr-precmd-preexec-scroll.patch @@ -1,4 +1,4 @@ -From 71e9d26cb88f0837ce1e2f3a4d4ac001aae5365e Mon Sep 17 00:00:00 2001 +From 3d9cf5a633950eb48847aeee1bba4cd9964f2f11 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 e7815b4446d1..d5fc77536e54 100644 +index 8178ec84659e..a93cabe137a8 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10696,6 +10696,15 @@ Terminal::emit_pending_signals() +@@ -10697,6 +10697,15 @@ Terminal::emit_pending_signals() emit_adjustment_changed(); @@ -72,7 +72,7 @@ index 18ac0714244a..ea5c9313162a 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index c18a178af178..92ff9d07752d 100644 +index c1ceb217f6d8..3cafa87476bb 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc @@ -739,6 +739,7 @@ vte_terminal_class_init(VteTerminalClass *klass) @@ -123,10 +123,10 @@ index e2515b3491ae..c175f6d7b06f 100644 LAST_SIGNAL }; diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index b0b6239e38e3..554a4506f49f 100644 +index 97546ed0037f..e123ff19f7fc 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -560,6 +560,11 @@ public: +@@ -577,6 +577,11 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -138,7 +138,7 @@ index b0b6239e38e3..554a4506f49f 100644 std::string m_window_title{}; std::string m_current_directory_uri{}; std::string m_current_file_uri{}; -@@ -1313,6 +1318,9 @@ public: +@@ -1330,6 +1335,9 @@ public: int osc) noexcept; /* OSC handlers */ @@ -149,10 +149,10 @@ index b0b6239e38e3..554a4506f49f 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 9ee154778974..3688462478e5 100644 +index 3329b0b253a9..d164edbf62fe 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1398,6 +1398,33 @@ Terminal::delete_lines(vte::grid::row_t param) +@@ -1412,6 +1412,33 @@ Terminal::delete_lines(vte::grid::row_t param) m_text_deleted_flag = TRUE; } @@ -186,7 +186,7 @@ index 9ee154778974..3688462478e5 100644 bool Terminal::get_osc_color_index(int osc, int value, -@@ -6488,6 +6515,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6506,6 +6533,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) reset_color(VTE_HIGHLIGHT_FG, VTE_COLOR_SOURCE_ESCAPE); break; @@ -197,7 +197,7 @@ index 9ee154778974..3688462478e5 100644 case VTE_OSC_XTERM_SET_ICON_TITLE: case VTE_OSC_XTERM_SET_XPROPERTY: case VTE_OSC_XTERM_SET_COLOR_MOUSE_CURSOR_FG: -@@ -6528,7 +6559,6 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6546,7 +6577,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: @@ -206,10 +206,10 @@ index 9ee154778974..3688462478e5 100644 default: break; -- -2.20.1 +2.24.1 -From 92222d93d5a51a3bfa232b2b99c80303abbaa699 Mon Sep 17 00:00:00 2001 +From dadfd1f48ac8f7228724caf457c199f7ba28964c 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 @@ -242,10 +242,10 @@ index c200493c34a6..ee010aa36505 100644 case "$TERM" in -- -2.20.1 +2.24.1 -From a6802affd1e2d8e1869312221e4be55b2b458d28 Mon Sep 17 00:00:00 2001 +From cc04532ca8670750ba67dcfb7b2e18997351093e 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 @@ -309,10 +309,10 @@ index d845b5ce26a4..90148baf34e3 100644 if (options.no_double_buffer) gtk_widget_set_double_buffered(GTK_WIDGET(window->terminal), false); -- -2.20.1 +2.24.1 -From 0903623fab2a9d3b4653014e44a7dd717c162b7f Mon Sep 17 00:00:00 2001 +From d36d4f2281300570b1f11d10fa934f1f73031cc9 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 @@ -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 d5fc77536e54..8ca4ca03bcfb 100644 +index a93cabe137a8..539ee46ab629 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -9901,6 +9901,7 @@ void +@@ -9902,6 +9902,7 @@ void Terminal::widget_scroll(GdkEventScroll *event) { gdouble delta_x, delta_y; @@ -354,7 +354,7 @@ index d5fc77536e54..8ca4ca03bcfb 100644 gdouble v; gint cnt, i; int button; -@@ -9957,7 +9958,13 @@ Terminal::widget_scroll(GdkEventScroll *event) +@@ -9958,7 +9959,13 @@ Terminal::widget_scroll(GdkEventScroll *event) return; } @@ -369,7 +369,7 @@ index d5fc77536e54..8ca4ca03bcfb 100644 _vte_debug_print(VTE_DEBUG_EVENTS, "Scroll speed is %d lines per non-smooth scroll unit\n", (int) v); -@@ -10254,6 +10261,16 @@ Terminal::decscusr_cursor_shape() +@@ -10255,6 +10262,16 @@ Terminal::decscusr_cursor_shape() } } @@ -402,7 +402,7 @@ index ea5c9313162a..90e3e05153a3 100644 _VTE_PUBLIC void vte_terminal_set_scrollback_lines(VteTerminal *terminal, diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 92ff9d07752d..eb754969ac40 100644 +index 3cafa87476bb..b62b540fc5b2 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc @@ -523,6 +523,9 @@ vte_terminal_get_property (GObject *object, @@ -447,7 +447,7 @@ index 92ff9d07752d..eb754969ac40 100644 /** * VteTerminal:scrollback-lines: * -@@ -4335,6 +4356,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) +@@ -4338,6 +4359,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) return IMPL(terminal)->m_row_count; } @@ -491,10 +491,10 @@ index c175f6d7b06f..5541e8a4f875 100644 PROP_SCROLL_ON_KEYSTROKE, PROP_SCROLL_ON_OUTPUT, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 554a4506f49f..1dd2467c9bc7 100644 +index e123ff19f7fc..e43c8a12accb 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -423,6 +423,7 @@ public: +@@ -440,6 +440,7 @@ public: /* Scrolling options. */ gboolean m_scroll_on_output; gboolean m_scroll_on_keystroke; @@ -502,7 +502,7 @@ index 554a4506f49f..1dd2467c9bc7 100644 vte::grid::row_t m_scrollback_lines; /* Restricted scrolling */ -@@ -1191,6 +1192,7 @@ public: +@@ -1208,6 +1209,7 @@ public: bool set_pty(VtePty *pty, bool proces_remaining = true); bool set_rewrap_on_resize(bool rewrap); @@ -511,10 +511,10 @@ index 554a4506f49f..1dd2467c9bc7 100644 bool set_scroll_on_keystroke(bool scroll); bool set_scroll_on_output(bool scroll); -- -2.20.1 +2.24.1 -From 09dfe4cb1a05299526646b030be90647a88e6a7b Mon Sep 17 00:00:00 2001 +From 086d4ce500d6481f5533662af065e1a527582da6 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 @@ -584,10 +584,10 @@ index 90148baf34e3..2636defdef8f 100644 vte_terminal_set_text_blink_mode(window->terminal, options.text_blink_mode); -- -2.20.1 +2.24.1 -From be6f135af60af8b2699d507d5a74d8753d4a61cc Mon Sep 17 00:00:00 2001 +From c65015a59c2eac3b231f0b4dcc07748470bd5c2a 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 @@ -603,10 +603,6 @@ Examples of such hooks are Bash's PS0 and Zsh's preexec. The OSC 777 escape sequence is taken from Enlightenment's Terminology: https://phab.enlightenment.org/T1765 -Currently, using C0 controls to emit OSC 777 from PS0 (ie., -PS0=$(printf "\u009D777;preexec\u009C")) causes spurious characters to -show up. C1 controls don't seem to suffer from this problem. - https://bugzilla.gnome.org/show_bug.cgi?id=711059 https://bugzilla.gnome.org/show_bug.cgi?id=711060 --- @@ -620,10 +616,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 8ca4ca03bcfb..eb3cd6b33c7f 100644 +index 539ee46ab629..9926396862ba 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10722,6 +10722,13 @@ Terminal::emit_pending_signals() +@@ -10723,6 +10723,13 @@ Terminal::emit_pending_signals() m_notification_received = false; } @@ -638,7 +634,7 @@ index 8ca4ca03bcfb..eb3cd6b33c7f 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 ee010aa36505..ee424ce70521 100644 +index ee010aa36505..9587fb6be1a3 100644 --- a/src/vte.sh +++ b/src/vte.sh @@ -60,7 +60,7 @@ __vte_prompt_command() { @@ -646,7 +642,7 @@ index ee010aa36505..ee424ce70521 100644 case "$TERM" in xterm*|vte*) - [ -n "$BASH_VERSION" ] && PROMPT_COMMAND="__vte_prompt_command" -+ [ -n "$BASH_VERSION" ] && PROMPT_COMMAND="__vte_prompt_command" && PS0=$(printf "\u009D777;preexec\u009C") ++ [ -n "$BASH_VERSION" ] && PROMPT_COMMAND="__vte_prompt_command" && PS0=$(printf "\033]777;preexec\033\\") [ -n "$ZSH_VERSION" ] && precmd_functions+=(__vte_osc7) ;; esac @@ -667,7 +663,7 @@ index 90e3e05153a3..3db163051077 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index eb754969ac40..cc502bf495d8 100644 +index b62b540fc5b2..873fa8f0ee17 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc @@ -746,6 +746,7 @@ vte_terminal_class_init(VteTerminalClass *klass) @@ -715,10 +711,10 @@ index 5541e8a4f875..a4d9ac8ae1c5 100644 SIGNAL_TEXT_INSERTED, SIGNAL_TEXT_MODIFIED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 1dd2467c9bc7..d2c49becaeae 100644 +index e43c8a12accb..70093fd27122 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -566,6 +566,8 @@ public: +@@ -583,6 +583,8 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -728,10 +724,10 @@ index 1dd2467c9bc7..d2c49becaeae 100644 std::string m_current_directory_uri{}; std::string m_current_file_uri{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index 3688462478e5..28de93f5b3af 100644 +index d164edbf62fe..25937e66e8bb 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1423,6 +1423,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1437,6 +1437,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, m_notification_body = *token; return; } @@ -743,10 +739,10 @@ index 3688462478e5..28de93f5b3af 100644 bool -- -2.20.1 +2.24.1 -From e2b0e5ead4c1512bf06c887ad6d4c1af537fa353 Mon Sep 17 00:00:00 2001 +From 527f622b1145c957549408f1bfc4dcc7d35bf954 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 @@ -808,10 +804,10 @@ index 2636defdef8f..2d0c48576643 100644 /* Settings */ if (options.no_double_buffer) -- -2.20.1 +2.24.1 -From bbec4f9fe8d0387be88edf6ef2f16ef029adfd59 Mon Sep 17 00:00:00 2001 +From 735f05a74076130b4162adc00e91361f9cacc631 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 @@ -840,10 +836,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 eb3cd6b33c7f..d427f0995b2b 100644 +index 9926396862ba..2d9d1349728c 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10729,6 +10729,13 @@ Terminal::emit_pending_signals() +@@ -10730,6 +10730,13 @@ Terminal::emit_pending_signals() m_shell_preexec = FALSE; } @@ -858,7 +854,7 @@ index eb3cd6b33c7f..d427f0995b2b 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 ee424ce70521..331bfec3d3ba 100644 +index 9587fb6be1a3..2a0d0df52fdb 100644 --- a/src/vte.sh +++ b/src/vte.sh @@ -55,7 +55,7 @@ __vte_prompt_command() { @@ -888,7 +884,7 @@ index 3db163051077..8ef9e1dcdeb4 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index cc502bf495d8..b93c76d00296 100644 +index 873fa8f0ee17..5926a9ae2626 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc @@ -746,6 +746,7 @@ vte_terminal_class_init(VteTerminalClass *klass) @@ -936,10 +932,10 @@ index a4d9ac8ae1c5..3d46483e3a56 100644 SIGNAL_TEXT_DELETED, SIGNAL_TEXT_INSERTED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index d2c49becaeae..8dd59f237d20 100644 +index 70093fd27122..7abaf3fb3775 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -566,6 +566,7 @@ public: +@@ -583,6 +583,7 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -948,10 +944,10 @@ index d2c49becaeae..8dd59f237d20 100644 std::string m_window_title{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index 28de93f5b3af..c0bce6995093 100644 +index 25937e66e8bb..69f34c666569 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1424,7 +1424,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1438,7 +1438,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, return; } @@ -963,10 +959,10 @@ index 28de93f5b3af..c0bce6995093 100644 } } -- -2.20.1 +2.24.1 -From 4767996ace813a6d5c8e1278cb5accd6005cfca1 Mon Sep 17 00:00:00 2001 +From cc5d878a88f6600787d219a98d2dea16dd22cfc5 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 @@ -1028,10 +1024,10 @@ index 2d0c48576643..e3ec0026e1dc 100644 /* Settings */ -- -2.20.1 +2.24.1 -From 1470d44065d81a0d8e093b012489ba60333e8d65 Mon Sep 17 00:00:00 2001 +From 726421415945de49ab1b1fd481e801df3efa8add 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 +1061,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 d427f0995b2b..2a328a37022a 100644 +index 2d9d1349728c..060a07c16f85 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10750,6 +10750,15 @@ Terminal::emit_pending_signals() +@@ -10751,6 +10751,15 @@ Terminal::emit_pending_signals() m_window_title_changed = false; } @@ -1100,7 +1096,7 @@ index 8ef9e1dcdeb4..a59a15a81766 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 b93c76d00296..e0e50ae12907 100644 +index 5926a9ae2626..53d02253f397 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc @@ -478,6 +478,12 @@ vte_terminal_get_property (GObject *object, @@ -1144,7 +1140,7 @@ index b93c76d00296..e0e50ae12907 100644 /** * VteTerminal:current-directory-uri: * -@@ -3704,6 +3731,44 @@ vte_terminal_get_column_count(VteTerminal *terminal) +@@ -3707,6 +3734,44 @@ vte_terminal_get_column_count(VteTerminal *terminal) return IMPL(terminal)->m_column_count; } @@ -1203,10 +1199,10 @@ index 3d46483e3a56..24052b15f75c 100644 PROP_CURRENT_FILE_URI, PROP_DELETE_BINDING, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 8dd59f237d20..be13f827a85c 100644 +index 7abaf3fb3775..5e24cbdf7a3d 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -41,6 +41,7 @@ +@@ -58,6 +58,7 @@ #include #include @@ -1214,7 +1210,7 @@ index 8dd59f237d20..be13f827a85c 100644 #include #include -@@ -118,6 +119,18 @@ typedef enum _VteCharacterReplacement { +@@ -135,6 +136,18 @@ typedef enum _VteCharacterReplacement { VTE_CHARACTER_REPLACEMENT_BRITISH } VteCharacterReplacement; @@ -1233,7 +1229,7 @@ index 8dd59f237d20..be13f827a85c 100644 typedef struct _VtePaletteColor { struct { vte::color::rgb color; -@@ -561,6 +574,9 @@ public: +@@ -578,6 +591,9 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -1244,10 +1240,10 @@ index 8dd59f237d20..be13f827a85c 100644 bool m_notification_received{false}; std::string m_notification_summary; diff --git a/src/vteseq.cc b/src/vteseq.cc -index c0bce6995093..dd64310caaf7 100644 +index 69f34c666569..a5868df92e13 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1406,6 +1406,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1420,6 +1420,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, if (token == endtoken) return; @@ -1286,5 +1282,5 @@ index c0bce6995093..dd64310caaf7 100644 ++token; -- -2.20.1 +2.24.1 diff --git a/vte291.spec b/vte291.spec index 267ad7c..c5aab74 100644 --- a/vte291.spec +++ b/vte291.spec @@ -9,7 +9,7 @@ Name: vte291 Version: 0.58.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Terminal emulator library License: LGPLv2+ @@ -109,6 +109,9 @@ emulator library. %{_sysconfdir}/profile.d/vte.sh %changelog +* Mon Mar 02 2020 Debarshi Ray - 0.58.3-2 +- Replace C1 controls with C0 to emit OSC 777 from PS0 (RH #1783802) + * Wed Nov 27 2019 Kalev Lember - 0.58.3-1 - Update to 0.58.3 - Avoid overriding vte's own -fno-exceptions