Update to 0.59.91

- Rebase downstream patches
This commit is contained in:
Debarshi Ray 2020-02-20 16:04:04 +01:00
parent 5584541da1
commit 22ab67e5cb
4 changed files with 143 additions and 128 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -1 +1 @@
SHA512 (vte-0.59.0.tar.xz) = 533d1e87a699137a33a6ddb82bf0f010925ba578974e1f6c87bae0b497309dd84c3cb2f5f6884f34f7fbcfad94fbaa07eb3a80387ee9f16b5f3f0ea2679e7376
SHA512 (vte-0.59.91.tar.xz) = 29d4ec3afeb117427880fa377d92f5b185ccdeac58d4bbd9af3042bd30cb021fcd65e12dc7ae0e0febaff2863a2f3b17f5112144e063fb233789c097e5644d4e

View File

@ -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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <debarshir@gnome.org>
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 <list>
#include <queue>
#include <optional>
+#include <stack>
#include <string>
#include <variant>
#include <vector>
@@ -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;

View File

@ -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 <rishi@fedoraproject.org> - 0.59.91-1
- Update to 0.59.91
- Rebase downstream patches
* Wed Feb 19 2020 Debarshi Ray <rishi@fedoraproject.org> - 0.59.0-1
- Update to 0.59.0
- Rebase downstream patches