From b6699a27104a86ef4fb26a7da050df8f6baddba3 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 24 Sep 2020 15:36:06 +0200 Subject: [PATCH] Update to 0.61.90 - Rebase downstream patches - VTE no longer insists on -fno-exceptions: https://gitlab.gnome.org/GNOME/vte/-/issues/185 --- .gitignore | 1 + sources | 2 +- vte291-cntnr-precmd-preexec-scroll.patch | 431 ++++++++--------------- vte291.spec | 18 +- 4 files changed, 157 insertions(+), 295 deletions(-) diff --git a/.gitignore b/.gitignore index 40fdae6..0a6c777 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ /vte-0.60.1.tar.xz /vte-0.60.2.tar.xz /vte-0.60.3.tar.xz +/vte-0.61.90.tar.xz diff --git a/sources b/sources index a2dc3c9..a91aa1c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (vte-0.60.3.tar.xz) = 3694fe711e0b3eb9d6ba37ad8036f5d3cca4265635ed7afcde750a8445b17f820d1c55b557d0ea1c8a5a45e5408915d8da2ffd65b4d397c6582f288812ae1f18 +SHA512 (vte-0.61.90.tar.xz) = a52d9afc0c60f4d3d6724d3e196c58fa40aec0bb5c4650affdc103abe02ecd452cccb4b8f7dfb2f6f041033cea96fd84018b7727f83a4764ec90cc7987d6245b diff --git a/vte291-cntnr-precmd-preexec-scroll.patch b/vte291-cntnr-precmd-preexec-scroll.patch index 5548b6c..d8cdd0d 100644 --- a/vte291-cntnr-precmd-preexec-scroll.patch +++ b/vte291-cntnr-precmd-preexec-scroll.patch @@ -1,7 +1,7 @@ -From 100b3f8acecf8c68201d6bbb7fc05e9475d8d401 Mon Sep 17 00:00:00 2001 +From 7e648254324c8b66480f341758428528022c7a04 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 7 Jan 2015 16:01:00 +0100 -Subject: [PATCH 01/12] Add sequences and signals for desktop notification +Subject: [PATCH 01/10] Add sequences and signals for desktop notification Add sequences OSC 777 ; notify ; SUMMARY ; BODY BEL @@ -36,17 +36,17 @@ index 241128c3ccfe..4412cf3d5f5c 100644 VOID:STRING,UINT VOID:UINT,UINT diff --git a/src/vte.cc b/src/vte.cc -index cba606e853a4..ae49a07d7376 100644 +index f8592985ee68..f16adef1b943 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10239,6 +10239,15 @@ Terminal::emit_pending_signals() +@@ -10199,6 +10199,15 @@ Terminal::emit_pending_signals() emit_adjustment_changed(); + if (m_notification_received) { + _vte_debug_print (VTE_DEBUG_SIGNALS, + "Emitting `notification-received'.\n"); -+ g_signal_emit(object, signals[SIGNAL_NOTIFICATION_RECEIVED], 0, ++ g_signal_emit(freezer.get(), signals[SIGNAL_NOTIFICATION_RECEIVED], 0, + m_notification_summary.c_str(), + m_notification_body.c_str()); + m_notification_received = false; @@ -56,7 +56,7 @@ index cba606e853a4..ae49a07d7376 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 31012518362e..6ad0987d22ca 100644 +index d5e96535a867..71c4c66cc4ee 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -104,8 +104,10 @@ struct _VteTerminalClass { @@ -72,10 +72,10 @@ index 31012518362e..6ad0987d22ca 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 5808a210d3d4..005423567073 100644 +index 936b38b947a0..15fcff186df1 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -738,6 +738,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -928,6 +928,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 5808a210d3d4..005423567073 100644 klass->window_title_changed = NULL; klass->icon_title_changed = NULL; klass->selection_changed = NULL; -@@ -819,6 +820,26 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1009,6 +1010,26 @@ vte_terminal_class_init(VteTerminalClass *klass) G_OBJECT_CLASS_TYPE(klass), g_cclosure_marshal_VOID__INTv); @@ -111,7 +111,7 @@ index 5808a210d3d4..005423567073 100644 * VteTerminal::window-title-changed: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index ae9fb08c310a..baf681e45b2c 100644 +index cb207e57f928..b44dfd13a054 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -56,6 +56,7 @@ enum { @@ -123,10 +123,10 @@ index ae9fb08c310a..baf681e45b2c 100644 LAST_SIGNAL }; diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 93e905270c29..ae4f705ea80d 100644 +index 8c510912f2f6..3f0bc1546c65 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -709,6 +709,11 @@ public: +@@ -934,6 +934,11 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -138,7 +138,7 @@ index 93e905270c29..ae4f705ea80d 100644 std::string m_window_title{}; std::string m_current_directory_uri{}; std::string m_current_file_uri{}; -@@ -1426,6 +1431,9 @@ public: +@@ -1652,6 +1657,9 @@ public: int osc) noexcept; /* OSC handlers */ @@ -149,10 +149,10 @@ index 93e905270c29..ae4f705ea80d 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 2d00ceec5509..2b69ca2c14f0 100644 +index f2d1e5244827..8dc3af82c11c 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1377,6 +1377,33 @@ Terminal::delete_lines(vte::grid::row_t param) +@@ -1378,6 +1378,33 @@ Terminal::delete_lines(vte::grid::row_t param) m_text_deleted_flag = TRUE; } @@ -186,7 +186,7 @@ index 2d00ceec5509..2b69ca2c14f0 100644 bool Terminal::get_osc_color_index(int osc, int value, -@@ -6464,6 +6491,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6579,6 +6606,10 @@ Terminal::OSC(vte::parser::Sequence const& seq) reset_color(VTE_HIGHLIGHT_FG, VTE_COLOR_SOURCE_ESCAPE); break; @@ -197,7 +197,7 @@ index 2d00ceec5509..2b69ca2c14f0 100644 case VTE_OSC_XTERM_SET_ICON_TITLE: case VTE_OSC_XTERM_SET_XPROPERTY: case VTE_OSC_XTERM_SET_COLOR_MOUSE_CURSOR_FG: -@@ -6504,7 +6535,6 @@ Terminal::OSC(vte::parser::Sequence const& seq) +@@ -6619,7 +6650,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,13 +206,13 @@ index 2d00ceec5509..2b69ca2c14f0 100644 default: break; -- -2.24.1 +2.25.4 -From 2a509fab63f42995d4b0f77bac4a9d79e508880e Mon Sep 17 00:00:00 2001 +From eb960a4300cf363c9beaafc8a01b9855d7764ad6 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 29 Jan 2015 13:09:17 +0100 -Subject: [PATCH 02/12] vte.sh: Emit OSC 777 from PROMPT_COMMAND +Subject: [PATCH 02/10] vte.sh: Emit OSC 777 from PROMPT_COMMAND For some reason, the three consecutive backslashes break the parsing. As Christian Persch suggested, replacing the double quotes with @@ -242,13 +242,13 @@ index 8b3153da0f1a..d6769de82766 100644 } -- -2.24.1 +2.25.4 -From 268e1f1f5e71822b9e43ae4bfeea43710de32152 Mon Sep 17 00:00:00 2001 +From cffffda11171e0e38f90d31b45fcb6b8b68478dd Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Thu, 22 Jan 2015 16:37:10 +0100 -Subject: [PATCH 03/12] Test the notification-received signal +Subject: [PATCH 03/10] Test the notification-received signal --- bindings/vala/app.vala | 7 +++++++ @@ -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 0c7eed5d18f1..6086c0a65db2 100644 +index a615fd5bddb9..53a685aa6cb4 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1639,6 +1639,14 @@ window_window_title_changed_cb(VteTerminal* terminal, +@@ -1856,6 +1856,14 @@ window_window_title_changed_cb(VteTerminal* terminal, vte_terminal_get_window_title(window->terminal)); } @@ -299,7 +299,7 @@ index 0c7eed5d18f1..6086c0a65db2 100644 static void window_lower_window_cb(VteTerminal* terminal, VteappWindow* window) -@@ -1871,6 +1879,8 @@ vteapp_window_constructed(GObject *object) +@@ -2091,6 +2099,8 @@ vteapp_window_constructed(GObject *object) if (options.object_notifications) g_signal_connect(window->terminal, "notify", G_CALLBACK(window_notify_cb), window); @@ -309,13 +309,13 @@ index 0c7eed5d18f1..6086c0a65db2 100644 if (options.no_double_buffer) { G_GNUC_BEGIN_IGNORE_DEPRECATIONS; -- -2.24.1 +2.25.4 -From 4756e38cc2678467d08245c192fd86b3b01049da Mon Sep 17 00:00:00 2001 +From dc045526e3b97ed71cdb02b49b78726c7bce2ceb Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 13 May 2016 17:53:54 +0200 -Subject: [PATCH 04/12] Add a property to configure the scroll speed +Subject: [PATCH 04/10] Add a property to configure the scroll speed By default, it is set to zero which gives the current behaviour of moving the buffer by a function of the number of visible rows. @@ -331,7 +331,7 @@ 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 20067c88bae3..2cc8d70ca4f9 100644 +index 28c1c9585ebc..c2205630249d 100644 --- a/doc/reference/vte-sections.txt +++ b/doc/reference/vte-sections.txt @@ -52,6 +52,7 @@ vte_terminal_get_cursor_blink_mode @@ -343,19 +343,19 @@ index 20067c88bae3..2cc8d70ca4f9 100644 vte_terminal_get_scrollback_lines vte_terminal_set_font diff --git a/src/vte.cc b/src/vte.cc -index ae49a07d7376..8fad2b477950 100644 +index f16adef1b943..2cb2ac1c4d4c 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -9443,6 +9443,7 @@ void - Terminal::widget_scroll(GdkEventScroll *event) +@@ -9392,6 +9392,7 @@ vte_cairo_get_clip_region (cairo_t *cr) + bool + Terminal::widget_mouse_scroll(MouseEvent const& event) { - gdouble delta_x, delta_y; + gdouble scroll_speed; gdouble v; gint cnt, i; int button; -@@ -9499,7 +9500,13 @@ Terminal::widget_scroll(GdkEventScroll *event) - return; +@@ -9448,7 +9449,13 @@ Terminal::widget_mouse_scroll(MouseEvent const& event) + return true; } - v = MAX (1., ceil (gtk_adjustment_get_page_increment (m_vadjustment.get()) / 10.)); @@ -369,7 +369,7 @@ index ae49a07d7376..8fad2b477950 100644 _vte_debug_print(VTE_DEBUG_EVENTS, "Scroll speed is %d lines per non-smooth scroll unit\n", (int) v); -@@ -9796,6 +9803,16 @@ Terminal::decscusr_cursor_shape() const noexcept +@@ -9751,6 +9758,16 @@ Terminal::decscusr_cursor_shape() const noexcept } } @@ -387,12 +387,12 @@ index ae49a07d7376..8fad2b477950 100644 Terminal::set_scrollback_lines(long lines) { diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index 6ad0987d22ca..94febee1d494 100644 +index 71c4c66cc4ee..203c77e08c57 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h -@@ -287,6 +287,10 @@ void vte_terminal_set_cursor_shape(VteTerminal *terminal, +@@ -306,6 +306,10 @@ void vte_terminal_set_cursor_shape(VteTerminal *terminal, _VTE_PUBLIC - VteCursorShape vte_terminal_get_cursor_shape(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + VteCursorShape vte_terminal_get_cursor_shape(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); +_VTE_PUBLIC +void vte_terminal_set_scroll_speed(VteTerminal *terminal, @@ -402,10 +402,10 @@ index 6ad0987d22ca..94febee1d494 100644 _VTE_PUBLIC void vte_terminal_set_scrollback_lines(VteTerminal *terminal, diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 005423567073..ecd004a814e7 100644 +index 15fcff186df1..b9a3a2156cf6 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -528,6 +528,9 @@ vte_terminal_get_property (GObject *object, +@@ -706,6 +706,9 @@ try case PROP_REWRAP_ON_RESIZE: g_value_set_boolean (value, vte_terminal_get_rewrap_on_resize (terminal)); break; @@ -415,7 +415,7 @@ index 005423567073..ecd004a814e7 100644 case PROP_SCROLLBACK_LINES: g_value_set_uint (value, vte_terminal_get_scrollback_lines(terminal)); break; -@@ -635,6 +638,9 @@ vte_terminal_set_property (GObject *object, +@@ -821,6 +824,9 @@ try case PROP_REWRAP_ON_RESIZE: vte_terminal_set_rewrap_on_resize (terminal, g_value_get_boolean (value)); break; @@ -425,7 +425,7 @@ index 005423567073..ecd004a814e7 100644 case PROP_SCROLLBACK_LINES: vte_terminal_set_scrollback_lines (terminal, g_value_get_uint (value)); break; -@@ -1708,6 +1714,21 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1915,6 +1921,21 @@ vte_terminal_class_init(VteTerminalClass *klass) TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)); @@ -447,8 +447,8 @@ index 005423567073..ecd004a814e7 100644 /** * VteTerminal:scrollback-lines: * -@@ -4434,6 +4455,30 @@ vte_terminal_get_row_count(VteTerminal *terminal) - return IMPL(terminal)->m_row_count; +@@ -5310,6 +5331,30 @@ catch (...) + return -1; } +/** @@ -479,10 +479,10 @@ index 005423567073..ecd004a814e7 100644 * vte_terminal_set_scrollback_lines: * @terminal: a #VteTerminal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index baf681e45b2c..a9c256635948 100644 +index b44dfd13a054..30b917786b5b 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh -@@ -88,6 +88,7 @@ enum { +@@ -89,6 +89,7 @@ enum { PROP_MOUSE_POINTER_AUTOHIDE, PROP_PTY, PROP_REWRAP_ON_RESIZE, @@ -491,10 +491,10 @@ index baf681e45b2c..a9c256635948 100644 PROP_SCROLL_ON_KEYSTROKE, PROP_SCROLL_ON_OUTPUT, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index ae4f705ea80d..9c0b8b454468 100644 +index 3f0bc1546c65..f934a59b9008 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -487,6 +487,7 @@ public: +@@ -697,6 +697,7 @@ public: /* Scrolling options. */ bool m_scroll_on_output{false}; bool m_scroll_on_keystroke{true}; @@ -502,7 +502,7 @@ index ae4f705ea80d..9c0b8b454468 100644 vte::grid::row_t m_scrollback_lines{0}; /* Restricted scrolling */ -@@ -1304,6 +1305,7 @@ public: +@@ -1528,6 +1529,7 @@ public: bool set_input_enabled(bool enabled); bool set_mouse_autohide(bool autohide); bool set_rewrap_on_resize(bool rewrap); @@ -511,13 +511,13 @@ index ae4f705ea80d..9c0b8b454468 100644 bool set_scroll_on_keystroke(bool scroll); bool set_scroll_on_output(bool scroll); -- -2.24.1 +2.25.4 -From 4a319241ad18071b85acea28f929b332d00e24da Mon Sep 17 00:00:00 2001 +From f18dfdc26541e79ec3591cdf3cc9fc413f9b6514 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 13 May 2016 17:54:57 +0200 -Subject: [PATCH 05/12] Test the scroll-speed property +Subject: [PATCH 05/10] Test the scroll-speed property https://bugzilla.redhat.com/show_bug.cgi?id=1103380 --- @@ -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 6086c0a65db2..0c7a70bf6da5 100644 +index 53a685aa6cb4..ebc50c17fe54 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -98,6 +98,7 @@ public: +@@ -109,6 +109,7 @@ public: int verbosity{0}; double cell_height_scale{1.0}; double cell_width_scale{1.0}; @@ -566,7 +566,7 @@ index 6086c0a65db2..0c7a70bf6da5 100644 VteCursorBlinkMode cursor_blink_mode{VTE_CURSOR_BLINK_SYSTEM}; VteCursorShape cursor_shape{VTE_CURSOR_SHAPE_BLOCK}; VteTextBlinkMode text_blink_mode{VTE_TEXT_BLINK_ALWAYS}; -@@ -418,6 +419,8 @@ public: +@@ -572,6 +573,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 }, @@ -574,8 +574,8 @@ index 6086c0a65db2..0c7a70bf6da5 100644 + "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, -@@ -1912,6 +1915,7 @@ vteapp_window_constructed(GObject *object) + { "sixel", 0, G_OPTION_FLAG_REVERSE, G_OPTION_ARG_NONE, &no_sixel, +@@ -2133,6 +2136,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); @@ -584,13 +584,13 @@ index 6086c0a65db2..0c7a70bf6da5 100644 vte_terminal_set_text_blink_mode(window->terminal, options.text_blink_mode); -- -2.24.1 +2.25.4 -From 1df88d4cb8ebdbcac0ad55c43ed17e91b7396ea6 Mon Sep 17 00:00:00 2001 +From 7934c3f70ffe08d51678257e17e2dddacd9e083c Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 7 Jan 2015 16:01:00 +0100 -Subject: [PATCH 06/12] Support preexec notifications from an interactive shell +Subject: [PATCH 06/10] Support preexec notifications from an interactive shell Add sequences OSC 777 ; preexec BEL @@ -616,17 +616,17 @@ 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 8fad2b477950..b103f3cee0ce 100644 +index 2cb2ac1c4d4c..153dba7580c0 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10265,6 +10265,13 @@ Terminal::emit_pending_signals() +@@ -10225,6 +10225,13 @@ Terminal::emit_pending_signals() m_notification_received = false; } + if (m_shell_preexec) { + _vte_debug_print (VTE_DEBUG_SIGNALS, + "Emitting `shell-preexec'.\n"); -+ g_signal_emit(object, signals[SIGNAL_SHELL_PREEXEC], 0); ++ g_signal_emit(freezer.get(), signals[SIGNAL_SHELL_PREEXEC], 0); + m_shell_preexec = FALSE; + } + @@ -647,7 +647,7 @@ index d6769de82766..c7a3b07f9ea4 100644 ;; esac diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index 94febee1d494..2d757afbdcc0 100644 +index 203c77e08c57..5668ac7d71df 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -105,9 +105,10 @@ struct _VteTerminalClass { @@ -663,10 +663,10 @@ index 94febee1d494..2d757afbdcc0 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index ecd004a814e7..1b3e2690164f 100644 +index b9a3a2156cf6..bdaadf6f43d4 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -745,6 +745,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -935,6 +935,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->encoding_changed = NULL; klass->char_size_changed = NULL; klass->notification_received = NULL; @@ -674,7 +674,7 @@ index ecd004a814e7..1b3e2690164f 100644 klass->window_title_changed = NULL; klass->icon_title_changed = NULL; klass->selection_changed = NULL; -@@ -846,6 +847,23 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1036,6 +1037,23 @@ vte_terminal_class_init(VteTerminalClass *klass) G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); @@ -699,7 +699,7 @@ index ecd004a814e7..1b3e2690164f 100644 * VteTerminal::window-title-changed: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index a9c256635948..79c528ea8243 100644 +index 30b917786b5b..d3ad1435ae53 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -52,6 +52,7 @@ enum { @@ -711,10 +711,10 @@ index a9c256635948..79c528ea8243 100644 SIGNAL_TEXT_INSERTED, SIGNAL_TEXT_MODIFIED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 9c0b8b454468..dd98905860f4 100644 +index f934a59b9008..ae2b989a9652 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -715,6 +715,8 @@ public: +@@ -940,6 +940,8 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -724,10 +724,10 @@ index 9c0b8b454468..dd98905860f4 100644 std::string m_current_directory_uri{}; std::string m_current_file_uri{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index 2b69ca2c14f0..d8866cbeb225 100644 +index 8dc3af82c11c..a7c964500f7c 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1402,6 +1402,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1403,6 +1403,10 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, m_notification_body = *token; return; } @@ -739,13 +739,13 @@ index 2b69ca2c14f0..d8866cbeb225 100644 bool -- -2.24.1 +2.25.4 -From f2581b1532eebc4bcfc2337eb367abfd5599dd0c Mon Sep 17 00:00:00 2001 +From dd0f90272d03424cca458068a87f971a593b5c85 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Fri, 20 Apr 2018 18:21:53 +0200 -Subject: [PATCH 07/12] Test the shell-preexec signal +Subject: [PATCH 07/10] Test the shell-preexec signal https://bugzilla.gnome.org/show_bug.cgi?id=711059 https://bugzilla.gnome.org/show_bug.cgi?id=711060 @@ -779,10 +779,10 @@ index c984b868246d..83af686be106 100644 class App : Gtk.Application diff --git a/src/app/app.cc b/src/app/app.cc -index 0c7a70bf6da5..2dece3ddb724 100644 +index ebc50c17fe54..dbfe3ef5b9b1 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1650,6 +1650,12 @@ notification_received_cb(VteTerminal *terminal, +@@ -1867,6 +1867,12 @@ notification_received_cb(VteTerminal *terminal, g_print("[%s]: %s\n", summary, body); } @@ -795,7 +795,7 @@ index 0c7a70bf6da5..2dece3ddb724 100644 static void window_lower_window_cb(VteTerminal* terminal, VteappWindow* window) -@@ -1883,6 +1889,7 @@ vteapp_window_constructed(GObject *object) +@@ -2103,6 +2109,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); @@ -804,13 +804,13 @@ index 0c7a70bf6da5..2dece3ddb724 100644 /* Settings */ if (options.no_double_buffer) { -- -2.24.1 +2.25.4 -From cee3f876af49aa199955e557001a57b317f93634 Mon Sep 17 00:00:00 2001 +From 2356a5c19f4b954446170f41dc1cb7dcdbbbc374 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 2 May 2018 17:20:30 +0200 -Subject: [PATCH 08/12] Support precmd notifications from an interactive shell +Subject: [PATCH 08/10] Support precmd notifications from an interactive shell Add sequences OSC 777 ; precmd BEL @@ -836,17 +836,17 @@ 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 b103f3cee0ce..1bda2bfbca39 100644 +index 153dba7580c0..a9e4b2602fa7 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10272,6 +10272,13 @@ Terminal::emit_pending_signals() +@@ -10232,6 +10232,13 @@ Terminal::emit_pending_signals() m_shell_preexec = FALSE; } + if (m_shell_precmd) { + _vte_debug_print (VTE_DEBUG_SIGNALS, + "Emitting `shell-precmd'.\n"); -+ g_signal_emit(object, signals[SIGNAL_SHELL_PRECMD], 0); ++ g_signal_emit(freezer.get(), signals[SIGNAL_SHELL_PRECMD], 0); + m_shell_precmd = FALSE; + } + @@ -867,7 +867,7 @@ index c7a3b07f9ea4..4cff7dd1fb71 100644 } diff --git a/src/vte/vteterminal.h b/src/vte/vteterminal.h -index 2d757afbdcc0..a75ae7ee2640 100644 +index 5668ac7d71df..cbd2a77f9f29 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h @@ -105,10 +105,11 @@ struct _VteTerminalClass { @@ -884,10 +884,10 @@ index 2d757afbdcc0..a75ae7ee2640 100644 VteTerminalClassPrivate *priv; }; diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 1b3e2690164f..0d61f90cda76 100644 +index bdaadf6f43d4..0b62760e5205 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -745,6 +745,7 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -935,6 +935,7 @@ vte_terminal_class_init(VteTerminalClass *klass) klass->encoding_changed = NULL; klass->char_size_changed = NULL; klass->notification_received = NULL; @@ -895,7 +895,7 @@ index 1b3e2690164f..0d61f90cda76 100644 klass->shell_preexec = NULL; klass->window_title_changed = NULL; klass->icon_title_changed = NULL; -@@ -847,6 +848,23 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -1037,6 +1038,23 @@ vte_terminal_class_init(VteTerminalClass *klass) G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRING); @@ -920,7 +920,7 @@ index 1b3e2690164f..0d61f90cda76 100644 * VteTerminal::shell-preexec: * @vteterminal: the object which received the signal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index 79c528ea8243..534298ada75c 100644 +index d3ad1435ae53..85c2a38d61ec 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -52,6 +52,7 @@ enum { @@ -932,10 +932,10 @@ index 79c528ea8243..534298ada75c 100644 SIGNAL_TEXT_DELETED, SIGNAL_TEXT_INSERTED, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index dd98905860f4..6b1feb377df7 100644 +index ae2b989a9652..cbf1582f8b9a 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -715,6 +715,7 @@ public: +@@ -940,6 +940,7 @@ public: std::string m_notification_summary; std::string m_notification_body; @@ -944,10 +944,10 @@ index dd98905860f4..6b1feb377df7 100644 std::string m_window_title{}; diff --git a/src/vteseq.cc b/src/vteseq.cc -index d8866cbeb225..f6669f853204 100644 +index a7c964500f7c..45d6dc3d2389 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1403,7 +1403,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1404,7 +1404,9 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, return; } @@ -959,13 +959,13 @@ index d8866cbeb225..f6669f853204 100644 } } -- -2.24.1 +2.25.4 -From 827f0406565cad98f835909451a854c7f8f3ead1 Mon Sep 17 00:00:00 2001 +From 252e0e2c469f32456052159a10a171bf9a819386 Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Wed, 2 May 2018 17:30:48 +0200 -Subject: [PATCH 09/12] Test the shell-precmd signal +Subject: [PATCH 09/10] Test the shell-precmd signal https://bugzilla.gnome.org/show_bug.cgi?id=711059 https://bugzilla.gnome.org/show_bug.cgi?id=711060 @@ -999,10 +999,10 @@ index 83af686be106..300384f5c74b 100644 { print("[shell] executing command\n"); diff --git a/src/app/app.cc b/src/app/app.cc -index 2dece3ddb724..960aadc3cdc8 100644 +index dbfe3ef5b9b1..b01367a12646 100644 --- a/src/app/app.cc +++ b/src/app/app.cc -@@ -1650,6 +1650,12 @@ notification_received_cb(VteTerminal *terminal, +@@ -1867,6 +1867,12 @@ notification_received_cb(VteTerminal *terminal, g_print("[%s]: %s\n", summary, body); } @@ -1015,7 +1015,7 @@ index 2dece3ddb724..960aadc3cdc8 100644 static void shell_preexec_cb(VteTerminal *terminal) { -@@ -1889,6 +1895,7 @@ vteapp_window_constructed(GObject *object) +@@ -2109,6 +2115,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); @@ -1024,13 +1024,13 @@ index 2dece3ddb724..960aadc3cdc8 100644 /* Settings */ -- -2.24.1 +2.25.4 -From 55c7d02eaad2bc37bc18c46152825fb2959f2db0 Mon Sep 17 00:00:00 2001 +From cfc2e11c554404945ab7ca964ec5df777415861a Mon Sep 17 00:00:00 2001 From: Debarshi Ray Date: Mon, 10 Jun 2019 20:30:18 +0200 -Subject: [PATCH 10/12] Support tracking the active container inside the +Subject: [PATCH 10/10] Support tracking the active container inside the terminal Add sequences @@ -1052,19 +1052,19 @@ agreed upon across multiple different terminal emulators [1]. [1] https://gitlab.freedesktop.org/terminal-wg/specifications/issues/17 --- - src/vte.cc | 9 ++++++ + src/vte.cc | 9 +++++ src/vte/vteterminal.h | 4 +++ - src/vtegtk.cc | 65 +++++++++++++++++++++++++++++++++++++++++++ + src/vtegtk.cc | 77 +++++++++++++++++++++++++++++++++++++++++++ src/vtegtk.hh | 2 ++ - src/vteinternal.hh | 16 +++++++++++ - src/vteseq.cc | 31 +++++++++++++++++++++ - 6 files changed, 127 insertions(+) + src/vteinternal.hh | 16 +++++++++ + src/vteseq.cc | 31 +++++++++++++++++ + 6 files changed, 139 insertions(+) diff --git a/src/vte.cc b/src/vte.cc -index 1bda2bfbca39..aeca73d55934 100644 +index a9e4b2602fa7..170493a19c2e 100644 --- a/src/vte.cc +++ b/src/vte.cc -@@ -10293,6 +10293,15 @@ Terminal::emit_pending_signals() +@@ -10253,6 +10253,15 @@ Terminal::emit_pending_signals() m_window_title_changed = false; } @@ -1072,8 +1072,8 @@ index 1bda2bfbca39..aeca73d55934 100644 + _vte_debug_print(VTE_DEBUG_SIGNALS, + "Notifying `current-container-name' and `current-container-runtime'.\n"); + -+ g_object_notify_by_pspec(object, pspecs[PROP_CURRENT_CONTAINER_NAME]); -+ g_object_notify_by_pspec(object, pspecs[PROP_CURRENT_CONTAINER_RUNTIME]); ++ g_object_notify_by_pspec(freezer.get(), pspecs[PROP_CURRENT_CONTAINER_NAME]); ++ g_object_notify_by_pspec(freezer.get(), pspecs[PROP_CURRENT_CONTAINER_RUNTIME]); + m_containers_changed = false; + } + @@ -1081,25 +1081,25 @@ index 1bda2bfbca39..aeca73d55934 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 a75ae7ee2640..53de9c737000 100644 +index cbd2a77f9f29..15aa421a0c68 100644 --- a/src/vte/vteterminal.h +++ b/src/vte/vteterminal.h -@@ -458,6 +458,10 @@ glong vte_terminal_get_column_count(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); +@@ -484,6 +484,10 @@ glong vte_terminal_get_column_count(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VT _VTE_PUBLIC - const char *vte_terminal_get_window_title(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + const char *vte_terminal_get_window_title(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); _VTE_PUBLIC -+const char *vte_terminal_get_current_container_name(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); ++const char *vte_terminal_get_current_container_name(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); +_VTE_PUBLIC -+const char *vte_terminal_get_current_container_runtime(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); ++const char *vte_terminal_get_current_container_runtime(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); +_VTE_PUBLIC - const char *vte_terminal_get_current_directory_uri(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + const char *vte_terminal_get_current_directory_uri(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); _VTE_PUBLIC - const char *vte_terminal_get_current_file_uri(VteTerminal *terminal) _VTE_GNUC_NONNULL(1); + const char *vte_terminal_get_current_file_uri(VteTerminal *terminal) _VTE_CXX_NOEXCEPT _VTE_GNUC_NONNULL(1); diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 0d61f90cda76..15a7f1ab1ce0 100644 +index 0b62760e5205..2fecdcde1a36 100644 --- a/src/vtegtk.cc +++ b/src/vtegtk.cc -@@ -483,6 +483,12 @@ vte_terminal_get_property (GObject *object, +@@ -658,6 +658,12 @@ try case PROP_CURSOR_BLINK_MODE: g_value_set_enum (value, vte_terminal_get_cursor_blink_mode (terminal)); break; @@ -1112,7 +1112,7 @@ index 0d61f90cda76..15a7f1ab1ce0 100644 case PROP_CURRENT_DIRECTORY_URI: g_value_set_string (value, vte_terminal_get_current_directory_uri (terminal)); break; -@@ -1827,6 +1833,27 @@ vte_terminal_class_init(VteTerminalClass *klass) +@@ -2034,6 +2040,27 @@ vte_terminal_class_init(VteTerminalClass *klass) NULL, (GParamFlags) (G_PARAM_READABLE | G_PARAM_STATIC_STRINGS | G_PARAM_EXPLICIT_NOTIFY)); @@ -1140,8 +1140,8 @@ index 0d61f90cda76..15a7f1ab1ce0 100644 /** * VteTerminal:current-directory-uri: * -@@ -3811,6 +3838,44 @@ vte_terminal_get_column_count(VteTerminal *terminal) - return IMPL(terminal)->m_column_count; +@@ -4517,6 +4544,56 @@ catch (...) + return -1; } +/** @@ -1152,7 +1152,8 @@ index 0d61f90cda76..15a7f1ab1ce0 100644 + * container, or %NULL + */ +const char * -+vte_terminal_get_current_container_name(VteTerminal *terminal) ++vte_terminal_get_current_container_name(VteTerminal *terminal) noexcept ++try +{ + g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); + auto impl = IMPL(terminal); @@ -1162,6 +1163,11 @@ index 0d61f90cda76..15a7f1ab1ce0 100644 + const VteContainer &container = impl->m_containers.top(); + return container.m_name.c_str(); +} ++catch (...) ++{ ++ vte::log_exception(); ++ return NULL; ++} + +/** + * vte_terminal_get_current_container_runtime: @@ -1171,7 +1177,8 @@ index 0d61f90cda76..15a7f1ab1ce0 100644 + * toolset used to set up the current container, or %NULL + */ +const char * -+vte_terminal_get_current_container_runtime(VteTerminal *terminal) ++vte_terminal_get_current_container_runtime(VteTerminal *terminal) noexcept ++try +{ + g_return_val_if_fail(VTE_IS_TERMINAL(terminal), NULL); + auto impl = IMPL(terminal); @@ -1181,12 +1188,17 @@ index 0d61f90cda76..15a7f1ab1ce0 100644 + const VteContainer &container = impl->m_containers.top(); + return container.m_runtime.c_str(); +} ++catch (...) ++{ ++ vte::log_exception(); ++ return NULL; ++} + /** * vte_terminal_get_current_directory_uri: * @terminal: a #VteTerminal diff --git a/src/vtegtk.hh b/src/vtegtk.hh -index 534298ada75c..66d2f1425fad 100644 +index 85c2a38d61ec..a258902a3092 100644 --- a/src/vtegtk.hh +++ b/src/vtegtk.hh @@ -76,6 +76,8 @@ enum { @@ -1199,10 +1211,10 @@ index 534298ada75c..66d2f1425fad 100644 PROP_CURRENT_FILE_URI, PROP_DELETE_BINDING, diff --git a/src/vteinternal.hh b/src/vteinternal.hh -index 6b1feb377df7..2329d7fd4c13 100644 +index cbf1582f8b9a..10b38ffbf5f5 100644 --- a/src/vteinternal.hh +++ b/src/vteinternal.hh -@@ -61,6 +61,7 @@ +@@ -57,6 +57,7 @@ #include #include #include @@ -1210,7 +1222,7 @@ index 6b1feb377df7..2329d7fd4c13 100644 #include #include #include -@@ -98,6 +99,18 @@ typedef enum _VteCharacterReplacement { +@@ -95,6 +96,18 @@ typedef enum _VteCharacterReplacement { VTE_CHARACTER_REPLACEMENT_LINE_DRAWING } VteCharacterReplacement; @@ -1229,7 +1241,7 @@ index 6b1feb377df7..2329d7fd4c13 100644 typedef struct _VtePaletteColor { struct { vte::color::rgb color; -@@ -710,6 +723,9 @@ public: +@@ -935,6 +948,9 @@ public: gboolean m_cursor_moved_pending; gboolean m_contents_changed_pending; @@ -1240,10 +1252,10 @@ index 6b1feb377df7..2329d7fd4c13 100644 bool m_notification_received{false}; std::string m_notification_summary; diff --git a/src/vteseq.cc b/src/vteseq.cc -index f6669f853204..2b9dd9df820a 100644 +index 45d6dc3d2389..447e80608072 100644 --- a/src/vteseq.cc +++ b/src/vteseq.cc -@@ -1385,6 +1385,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, +@@ -1386,6 +1386,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq, if (token == endtoken) return; @@ -1282,154 +1294,5 @@ index f6669f853204..2b9dd9df820a 100644 ++token; -- -2.24.1 - - -From e2c44d1e7cf544f26dddfe7ea21452eb53800b83 Mon Sep 17 00:00:00 2001 -From: Jakub Steiner -Date: Thu, 2 Apr 2020 18:20:44 +0200 -Subject: [PATCH 11/12] widget: Improve legibility when using colours from the - system theme - -https://gitlab.gnome.org/GNOME/vte/-/issues/225 ---- - src/vtegtk.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 15a7f1ab1ce0..5999272c0648 100644 ---- a/src/vtegtk.cc -+++ b/src/vtegtk.cc -@@ -1922,7 +1922,7 @@ vte_terminal_class_init(VteTerminalClass *klass) - "VteTerminal, " VTE_TERMINAL_CSS_NAME " {\n" - "padding: 1px 1px 1px 1px;\n" - "background-color: @theme_base_color;\n" -- "color: @theme_fg_color;\n" -+ "color: @theme_text_color;\n" - "}\n", - -1, NULL); - --- -2.24.1 - - -From 68d735ef2649df34f4a283d70555a88f04231ecc Mon Sep 17 00:00:00 2001 -From: Jakub Steiner -Date: Tue, 31 Mar 2020 20:55:23 +0200 -Subject: [PATCH 12/12] widget: Improve legibility by tweaking the system - theme's base colour - -Some changes by Debarshi Ray. - -https://gitlab.gnome.org/GNOME/vte/-/issues/226 ---- - src/vtegtk.cc | 67 ++++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 58 insertions(+), 9 deletions(-) - -diff --git a/src/vtegtk.cc b/src/vtegtk.cc -index 5999272c0648..a54c85b42e9d 100644 ---- a/src/vtegtk.cc -+++ b/src/vtegtk.cc -@@ -73,7 +73,8 @@ - #define VTE_TERMINAL_CSS_NAME "vte-terminal" - - struct _VteTerminalClassPrivate { -- GtkStyleProvider *style_provider; -+ GtkStyleProvider *style_provider_dark; -+ GtkStyleProvider *style_provider_light; - }; - - #ifdef VTE_DEBUG -@@ -127,6 +128,41 @@ valid_color(GdkRGBA const* color) - color->alpha >= 0. && color->alpha <= 1.; - } - -+static void -+vte_terminal_theme_update (VteTerminal *terminal) -+{ -+ GtkSettings *settings; -+ GtkStyleContext *context; -+ gboolean application_prefer_dark_theme; -+ -+ settings = gtk_settings_get_default (); -+ g_object_get (settings, "gtk-application-prefer-dark-theme", &application_prefer_dark_theme, nullptr); -+ -+ context = gtk_widget_get_style_context (&terminal->widget); -+ -+ if (application_prefer_dark_theme) { -+ gtk_style_context_remove_provider (context, -+ VTE_TERMINAL_GET_CLASS (terminal)->priv->style_provider_light); -+ -+ gtk_style_context_add_provider (context, -+ VTE_TERMINAL_GET_CLASS (terminal)->priv->style_provider_dark, -+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); -+ } else { -+ gtk_style_context_remove_provider (context, -+ VTE_TERMINAL_GET_CLASS (terminal)->priv->style_provider_dark); -+ -+ gtk_style_context_add_provider (context, -+ VTE_TERMINAL_GET_CLASS (terminal)->priv->style_provider_light, -+ GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); -+ } -+} -+ -+static void -+vte_terminal_theme_changed (VteTerminal *terminal) -+{ -+ vte_terminal_theme_update (terminal); -+} -+ - static void - vte_terminal_set_hadjustment(VteTerminal *terminal, - GtkAdjustment *adjustment) -@@ -392,14 +428,18 @@ static void - vte_terminal_init(VteTerminal *terminal) - { - void *place; -- GtkStyleContext *context; -+ GtkSettings *settings; - - _vte_debug_print(VTE_DEBUG_LIFECYCLE, "vte_terminal_init()\n"); - -- context = gtk_widget_get_style_context(&terminal->widget); -- gtk_style_context_add_provider (context, -- VTE_TERMINAL_GET_CLASS (terminal)->priv->style_provider, -- GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); -+ vte_terminal_theme_update (terminal); -+ -+ settings = gtk_settings_get_default (); -+ g_signal_connect_object (settings, -+ "notify::gtk-application-prefer-dark-theme", -+ G_CALLBACK (vte_terminal_theme_changed), -+ terminal, -+ G_CONNECT_SWAPPED); - - /* Initialize private data. NOTE: place is zeroed */ - place = vte_terminal_get_instance_private(terminal); -@@ -1917,11 +1957,20 @@ vte_terminal_class_init(VteTerminalClass *klass) - - klass->priv = G_TYPE_CLASS_GET_PRIVATE (klass, VTE_TYPE_TERMINAL, VteTerminalClassPrivate); - -- klass->priv->style_provider = GTK_STYLE_PROVIDER (gtk_css_provider_new ()); -- gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (klass->priv->style_provider), -+ klass->priv->style_provider_dark = GTK_STYLE_PROVIDER (gtk_css_provider_new ()); -+ gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (klass->priv->style_provider_dark), -+ "VteTerminal, " VTE_TERMINAL_CSS_NAME " {\n" -+ "padding: 1px 1px 1px 1px;\n" -+ "background-color: shade(@theme_base_color, 0.67);\n" -+ "color: @theme_text_color;\n" -+ "}\n", -+ -1, NULL); -+ -+ klass->priv->style_provider_light = GTK_STYLE_PROVIDER (gtk_css_provider_new ()); -+ gtk_css_provider_load_from_data (GTK_CSS_PROVIDER (klass->priv->style_provider_light), - "VteTerminal, " VTE_TERMINAL_CSS_NAME " {\n" - "padding: 1px 1px 1px 1px;\n" -- "background-color: @theme_base_color;\n" -+ "background-color: shade(@theme_base_color, 1.1);\n" - "color: @theme_text_color;\n" - "}\n", - -1, NULL); --- -2.24.1 +2.25.4 diff --git a/vte291.spec b/vte291.spec index 2ed10b0..ed922fb 100644 --- a/vte291.spec +++ b/vte291.spec @@ -3,24 +3,23 @@ %global fribidi_version 1.0.0 %global glib2_version 2.52.0 %global gnutls_version 3.2.7 -%global gtk3_version 3.20.0 +%global gtk3_version 3.24.22 %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.60.3 -Release: 2%{?dist} +Version: 0.61.90 +Release: 1%{?dist} Summary: Terminal emulator library License: LGPLv2+ URL: http://www.gnome.org/ -Source0: http://download.gnome.org/sources/vte/0.60/vte-%{version}.tar.xz +Source0: http://download.gnome.org/sources/vte/0.61/vte-%{version}.tar.xz # https://bugzilla.gnome.org/show_bug.cgi?id=711059 # https://bugzilla.redhat.com/show_bug.cgi?id=1103380 -# https://gitlab.gnome.org/GNOME/vte/-/issues/226 Patch100: vte291-cntnr-precmd-preexec-scroll.patch BuildRequires: gcc-c++ @@ -90,10 +89,6 @@ sed -i -e "/^vte_systemduserunitdir =/s|vte_prefix|'/usr'|" meson.build %endif %build -# Avoid overriding vte's own -fno-exceptions -# https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/207 -%global optflags %(echo %{optflags} | sed 's/-fexceptions //') - %meson --buildtype=plain -Ddocs=true %meson_build @@ -104,7 +99,6 @@ sed -i -e "/^vte_systemduserunitdir =/s|vte_prefix|'/usr'|" meson.build %files -f vte-%{apiver}.lang %license COPYING.GPL3 -%doc NEWS %{_libdir}/libvte-%{apiver}.so.0* %{_libdir}/girepository-1.0/ %{_userunitdir}/vte-spawn-.scope.d @@ -124,6 +118,10 @@ sed -i -e "/^vte_systemduserunitdir =/s|vte_prefix|'/usr'|" meson.build %{_sysconfdir}/profile.d/vte.sh %changelog +* Thu Sep 24 2020 Debarshi Ray - 0.61.90-1 +- Update to 0.61.90 +- Rebase downstream patches + * Wed Jul 29 2020 Fedora Release Engineering - 0.60.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild