Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/vte291.git#de2838742197f182c406b37f031e58dac12ebad4
This commit is contained in:
DistroBaker 2020-12-18 15:20:30 +00:00
parent 48a8d147f6
commit 45144aa570
2 changed files with 143 additions and 66 deletions

View File

@ -1,4 +1,4 @@
From 0728f06f528c1ba77a8671c529e44fbabd9c8980 Mon Sep 17 00:00:00 2001
From 8d4a539a20142a3944e12f029ded76a27749296c 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 c33b27c45023..01c7dd7eebc4 100644
index 2614e5b4d20f..ac54d8791ba2 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -10135,6 +10135,15 @@ Terminal::emit_pending_signals()
@@ -10143,6 +10143,15 @@ Terminal::emit_pending_signals()
emit_adjustment_changed();
@ -72,7 +72,7 @@ index d5e96535a867..71c4c66cc4ee 100644
VteTerminalClassPrivate *priv;
};
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index f7a65f72b68e..30e0af0f8015 100644
index 41de14ba1019..09a18439277f 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -934,6 +934,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
@ -206,10 +206,10 @@ index ba9a2df6b9c4..c765b0bfb1f4 100644
default:
break;
--
2.25.4
2.29.2
From 4c3bce7d70e208bee0f36d64a540ade9975c3ce7 Mon Sep 17 00:00:00 2001
From e75a6e2b9b4a1789ab7c2c1572e13c38dc73daf5 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
@ -242,10 +242,10 @@ index a12e254b6cba..f7c4fdeff30b 100644
}
--
2.25.4
2.29.2
From 5171a84e95ad20048dcb1683c149711430002149 Mon Sep 17 00:00:00 2001
From d726c0779babba159dc01a1dd20c0a6678dbd4dc 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 d8bfe9e13826..e95f58cd3bac 100644
index 6453ef8516f9..65521e1f4177 100644
--- a/src/app/app.cc
+++ b/src/app/app.cc
@@ -1851,6 +1851,14 @@ window_window_title_changed_cb(VteTerminal* terminal,
@@ -1862,6 +1862,14 @@ window_window_title_changed_cb(VteTerminal* terminal,
vte_terminal_get_window_title(window->terminal));
}
@ -299,7 +299,7 @@ index d8bfe9e13826..e95f58cd3bac 100644
static void
window_lower_window_cb(VteTerminal* terminal,
VteappWindow* window)
@@ -2086,6 +2094,8 @@ vteapp_window_constructed(GObject *object)
@@ -2097,6 +2105,8 @@ vteapp_window_constructed(GObject *object)
if (options.object_notifications)
g_signal_connect(window->terminal, "notify", G_CALLBACK(window_notify_cb), window);
@ -309,10 +309,10 @@ index d8bfe9e13826..e95f58cd3bac 100644
if (options.no_double_buffer) {
G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
--
2.25.4
2.29.2
From ed262358646832779ee0eb5afa0a8a7a6c1c2adf Mon Sep 17 00:00:00 2001
From f3ec33fc7a644aa9a8d640af16e8ef87a7db5db7 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
@ -343,10 +343,10 @@ index c222e7fdff0b..6da5eff30715 100644
vte_terminal_get_scrollback_lines
vte_terminal_set_font
diff --git a/src/vte.cc b/src/vte.cc
index 01c7dd7eebc4..af73288b9f20 100644
index ac54d8791ba2..68fc4bf8f448 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -9334,6 +9334,7 @@ vte_cairo_get_clip_region (cairo_t *cr)
@@ -9342,6 +9342,7 @@ vte_cairo_get_clip_region (cairo_t *cr)
bool
Terminal::widget_mouse_scroll(MouseEvent const& event)
{
@ -354,7 +354,7 @@ index 01c7dd7eebc4..af73288b9f20 100644
gdouble v;
gint cnt, i;
int button;
@@ -9390,7 +9391,13 @@ Terminal::widget_mouse_scroll(MouseEvent const& event)
@@ -9398,7 +9399,13 @@ Terminal::widget_mouse_scroll(MouseEvent const& event)
return true;
}
@ -369,7 +369,7 @@ index 01c7dd7eebc4..af73288b9f20 100644
_vte_debug_print(VTE_DEBUG_EVENTS,
"Scroll speed is %d lines per non-smooth scroll unit\n",
(int) v);
@@ -9693,6 +9700,16 @@ Terminal::decscusr_cursor_shape() const noexcept
@@ -9701,6 +9708,16 @@ Terminal::decscusr_cursor_shape() const noexcept
}
}
@ -402,7 +402,7 @@ index 71c4c66cc4ee..203c77e08c57 100644
_VTE_PUBLIC
void vte_terminal_set_scrollback_lines(VteTerminal *terminal,
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index 30e0af0f8015..bf88b9481981 100644
index 09a18439277f..934e0ab2bd37 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -712,6 +712,9 @@ try
@ -447,7 +447,7 @@ index 30e0af0f8015..bf88b9481981 100644
/**
* VteTerminal:scrollback-lines:
*
@@ -5324,6 +5345,30 @@ catch (...)
@@ -5323,6 +5344,30 @@ catch (...)
return -1;
}
@ -511,10 +511,10 @@ index 7608eecc38d9..79ea9e7f0da0 100644
bool set_scroll_on_keystroke(bool scroll);
bool set_scroll_on_output(bool scroll);
--
2.25.4
2.29.2
From 73e7009c342747fbb3bdbef322811e09467dab9b Mon Sep 17 00:00:00 2001
From 9538e23477d7e99909961f7ea5868f9c19c043e1 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,7 +555,7 @@ 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 e95f58cd3bac..52893c87414a 100644
index 65521e1f4177..28e934d9d9c0 100644
--- a/src/app/app.cc
+++ b/src/app/app.cc
@@ -108,6 +108,7 @@ public:
@ -566,7 +566,7 @@ index e95f58cd3bac..52893c87414a 100644
VteCursorBlinkMode cursor_blink_mode{VTE_CURSOR_BLINK_SYSTEM};
VteCursorShape cursor_shape{VTE_CURSOR_SHAPE_BLOCK};
VteTextBlinkMode text_blink_mode{VTE_TEXT_BLINK_ALWAYS};
@@ -569,6 +570,8 @@ public:
@@ -580,6 +581,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 },
@ -575,7 +575,7 @@ index e95f58cd3bac..52893c87414a 100644
{ "scrollback-lines", 'n', 0, G_OPTION_ARG_INT, &scrollback_lines,
"Specify the number of scrollback-lines (-1 for infinite)", nullptr },
{ "transparent", 'T', 0, G_OPTION_ARG_INT, &transparency_percent,
@@ -2127,6 +2130,7 @@ vteapp_window_constructed(GObject *object)
@@ -2138,6 +2141,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,10 +584,10 @@ index e95f58cd3bac..52893c87414a 100644
vte_terminal_set_text_blink_mode(window->terminal, options.text_blink_mode);
--
2.25.4
2.29.2
From 2fe27cbe7cbb120e9055284c9e7e34423e5add49 Mon Sep 17 00:00:00 2001
From 8e616fea1e377e03d5f3cbac0786df5e76da896d 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
@ -616,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 af73288b9f20..d77d27967b50 100644
index 68fc4bf8f448..09068deebdf2 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -10161,6 +10161,13 @@ Terminal::emit_pending_signals()
@@ -10169,6 +10169,13 @@ Terminal::emit_pending_signals()
m_notification_received = false;
}
@ -663,7 +663,7 @@ index 203c77e08c57..5668ac7d71df 100644
VteTerminalClassPrivate *priv;
};
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index bf88b9481981..df247f27c038 100644
index 934e0ab2bd37..0bba24ee534f 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -941,6 +941,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
@ -739,10 +739,10 @@ index c765b0bfb1f4..ad5935063bd9 100644
bool
--
2.25.4
2.29.2
From 62b4dec7a7493f531de60ee814596176f3b9c082 Mon Sep 17 00:00:00 2001
From c7c410786da41bf9bbcdf8ca1be21dcf0d89637d 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
@ -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 52893c87414a..3ef597e97365 100644
index 28e934d9d9c0..c9f7b5637d16 100644
--- a/src/app/app.cc
+++ b/src/app/app.cc
@@ -1862,6 +1862,12 @@ notification_received_cb(VteTerminal *terminal,
@@ -1873,6 +1873,12 @@ notification_received_cb(VteTerminal *terminal,
g_print("[%s]: %s\n", summary, body);
}
@ -795,7 +795,7 @@ index 52893c87414a..3ef597e97365 100644
static void
window_lower_window_cb(VteTerminal* terminal,
VteappWindow* window)
@@ -2098,6 +2104,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);
@ -804,10 +804,10 @@ index 52893c87414a..3ef597e97365 100644
/* Settings */
if (options.no_double_buffer) {
--
2.25.4
2.29.2
From ce908501de9d32ab9d3e0cc600058e104bec2130 Mon Sep 17 00:00:00 2001
From 034f0a8ae047af6d6a2ee9c443b6686a4eff3018 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
@ -836,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 d77d27967b50..54654c8589ab 100644
index 09068deebdf2..6d3d3c5a2854 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -10168,6 +10168,13 @@ Terminal::emit_pending_signals()
@@ -10176,6 +10176,13 @@ Terminal::emit_pending_signals()
m_shell_preexec = FALSE;
}
@ -884,7 +884,7 @@ index 5668ac7d71df..cbd2a77f9f29 100644
VteTerminalClassPrivate *priv;
};
diff --git a/src/vtegtk.cc b/src/vtegtk.cc
index df247f27c038..afccd6d85c65 100644
index 0bba24ee534f..4e0bc3a68464 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -941,6 +941,7 @@ vte_terminal_class_init(VteTerminalClass *klass)
@ -959,10 +959,10 @@ index ad5935063bd9..4b66681d713c 100644
}
}
--
2.25.4
2.29.2
From c57e30715838cb9d6eb0d4390867746bea0c42d5 Mon Sep 17 00:00:00 2001
From 6083ed32c023a7a24f4b4856147a0970d59f9a35 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
@ -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 3ef597e97365..e1b10ca43b2c 100644
index c9f7b5637d16..b679bc0bff50 100644
--- a/src/app/app.cc
+++ b/src/app/app.cc
@@ -1862,6 +1862,12 @@ notification_received_cb(VteTerminal *terminal,
@@ -1873,6 +1873,12 @@ notification_received_cb(VteTerminal *terminal,
g_print("[%s]: %s\n", summary, body);
}
@ -1015,7 +1015,7 @@ index 3ef597e97365..e1b10ca43b2c 100644
static void
shell_preexec_cb(VteTerminal *terminal)
{
@@ -2104,6 +2110,7 @@ vteapp_window_constructed(GObject *object)
@@ -2115,6 +2121,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,16 +1024,22 @@ index 3ef597e97365..e1b10ca43b2c 100644
/* Settings */
--
2.25.4
2.29.2
From 3e049907ff0981ba235df9b97b56828cb814fb76 Mon Sep 17 00:00:00 2001
From b0a81273d4ff929afa4e37750273980e70017c77 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
terminal
Add sequences
OSC 777 ; container ; push ; NAME ; RUNTIME ; UID BEL
OSC 777 ; container ; push ; NAME ; RUNTIME ; UID ST
OSC 777 ; container ; pop ; NAME ; RUNTIME ; UID BEL
OSC 777 ; container ; pop ; NAME ; RUNTIME ; UID ST
OSC 777 ; container ; push ; NAME ; RUNTIME BEL
OSC 777 ; container ; push ; NAME ; RUNTIME ST
OSC 777 ; container ; pop ; NAME ; RUNTIME BEL
@ -1042,7 +1048,9 @@ Add sequences
that let container tools notify the terminal emulator when entering and
leaving a container environment. The RUNTIME argument namespaces the
NAME and identifies the container tooling being used. eg., docker,
flatpak, podman, toolbox, etc..
flatpak, podman, toolbox, etc.. The UID argument is the real UID of the
container tools. Only those containers that are used with the same real
UID as the VTE process are tracked.
The OSC 777 escape sequence is taken from Enlightenment's Terminology:
https://phab.enlightenment.org/T1765
@ -1053,18 +1061,18 @@ agreed upon across multiple different terminal emulators [1].
[1] https://gitlab.freedesktop.org/terminal-wg/specifications/issues/17
---
src/vte.cc | 9 +++++
src/vte/vteterminal.h | 4 +++
src/vtegtk.cc | 77 +++++++++++++++++++++++++++++++++++++++++++
src/vtegtk.hh | 2 ++
src/vteinternal.hh | 16 +++++++++
src/vteseq.cc | 31 +++++++++++++++++
6 files changed, 139 insertions(+)
src/vte/vteterminal.h | 4 ++
src/vtegtk.cc | 77 ++++++++++++++++++++++++++++++++++++++
src/vtegtk.hh | 2 +
src/vteinternal.hh | 16 ++++++++
src/vteseq.cc | 86 +++++++++++++++++++++++++++++++++++++++++++
6 files changed, 194 insertions(+)
diff --git a/src/vte.cc b/src/vte.cc
index 54654c8589ab..b5f1258bbd99 100644
index 6d3d3c5a2854..74db14f593dd 100644
--- a/src/vte.cc
+++ b/src/vte.cc
@@ -10189,6 +10189,15 @@ Terminal::emit_pending_signals()
@@ -10197,6 +10197,15 @@ Terminal::emit_pending_signals()
m_window_title_changed = false;
}
@ -1096,7 +1104,7 @@ index cbd2a77f9f29..15aa421a0c68 100644
_VTE_PUBLIC
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 afccd6d85c65..242d6d979ddc 100644
index 4e0bc3a68464..2e6859798c42 100644
--- a/src/vtegtk.cc
+++ b/src/vtegtk.cc
@@ -664,6 +664,12 @@ try
@ -1140,7 +1148,7 @@ index afccd6d85c65..242d6d979ddc 100644
/**
* VteTerminal:current-directory-uri:
*
@@ -4531,6 +4558,56 @@ catch (...)
@@ -4530,6 +4557,56 @@ catch (...)
return -1;
}
@ -1252,10 +1260,25 @@ index 18ffeaf3a270..f6b98f670ad5 100644
bool m_notification_received{false};
std::string m_notification_summary;
diff --git a/src/vteseq.cc b/src/vteseq.cc
index 4b66681d713c..6e7cb8741696 100644
index 4b66681d713c..4240896b95e8 100644
--- a/src/vteseq.cc
+++ b/src/vteseq.cc
@@ -1385,6 +1385,37 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq,
@@ -20,10 +20,14 @@
#include "config.h"
+#include <string>
+
#include <search.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
+#include <unistd.h>
+#include <sys/types.h>
#ifdef HAVE_SYS_SYSLIMITS_H
#include <sys/syslimits.h>
#endif
@@ -1385,6 +1389,88 @@ Terminal::handle_urxvt_extension(vte::parser::Sequence const& seq,
if (token == endtoken)
return;
@ -1269,10 +1292,41 @@ index 4b66681d713c..6e7cb8741696 100644
+ ++token;
+
+ if (sub_command == "pop") {
+ if (!m_containers.empty()) {
+ m_containers.pop();
+ m_containers_changed = true;
+ if (token == endtoken)
+ return;
+
+ ++token;
+
+ if (token == endtoken)
+ return;
+
+ ++token;
+
+ if (token == endtoken) {
+ if (!m_containers.empty()) {
+ m_containers.pop();
+ m_containers_changed = true;
+ }
+
+ return;
+ }
+
+ const std::string uid_token = *token;
+ ++token;
+
+ const uid_t uid = getuid();
+ const std::string uid_str = std::to_string(uid);
+
+ if (uid_token == uid_str) {
+ if (!m_containers.empty()) {
+ m_containers.pop();
+ m_containers_changed = true;
+ }
+
+ return;
+ }
+
+ return;
+ } else if (sub_command == "push") {
+ if (token == endtoken)
+ return;
@ -1284,15 +1338,35 @@ index 4b66681d713c..6e7cb8741696 100644
+ return;
+
+ const std::string runtime = *token;
+ ++token;
+
+ m_containers.emplace(name, runtime);
+ m_containers_changed = true;
+ if (token == endtoken) {
+ m_containers.emplace(name, runtime);
+ m_containers_changed = true;
+ return;
+ }
+
+ const std::string uid_token = *token;
+ ++token;
+
+ const uid_t uid = getuid();
+ const std::string uid_str = std::to_string(uid);
+
+ if (uid_token == uid_str) {
+ m_containers.emplace(name, runtime);
+ m_containers_changed = true;
+ return;
+ }
+
+ return;
+ }
+
+ return;
+ }
+
if (*token == "notify") {
++token;
--
2.25.4
2.29.2

View File

@ -11,7 +11,7 @@
Name: vte291
Version: 0.62.1
Release: 2%{?dist}
Release: 3%{?dist}
Summary: Terminal emulator library
License: LGPLv2+
@ -120,6 +120,9 @@ sed -i -e "/^vte_systemduserunitdir =/s|vte_prefix|'/usr'|" meson.build
%{_sysconfdir}/profile.d/vte.sh
%changelog
* Wed Dec 16 2020 Debarshi Ray <rishi@fedoraproject.org> - 0.62.1-3
- Accommodate 'sudo toolbox' when tracking the active container
* Tue Nov 03 2020 Jeff Law <law@redhat.com> - 0.62.1-2
- Fix bogus volatile caught by gcc-11