summaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:02:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:02:09 +0000
commit1a7596f7a5777f8793841c8b8eda891f03f594ce (patch)
tree547b69ad797745b5810e3ec2303eb488dcd9fb8f /debian/patches
parentAdding upstream version 3.46.8. (diff)
downloadgnome-terminal-1a7596f7a5777f8793841c8b8eda891f03f594ce.tar.xz
gnome-terminal-1a7596f7a5777f8793841c8b8eda891f03f594ce.zip
Adding debian version 3.46.8-1.debian/3.46.8-1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/01_onlyshowin.patch20
-rw-r--r--debian/patches/Provide-fallback-for-reading-current-directory-if-OS.patch100
-rw-r--r--debian/patches/series2
3 files changed, 122 insertions, 0 deletions
diff --git a/debian/patches/01_onlyshowin.patch b/debian/patches/01_onlyshowin.patch
new file mode 100644
index 0000000..2052178
--- /dev/null
+++ b/debian/patches/01_onlyshowin.patch
@@ -0,0 +1,20 @@
+From: Josselin Mouette <joss@debian.org>
+Date: Mon, 1 Jun 2009 09:48:55 +0000
+Subject: Only show gnome-terminal in GNOME menus
+
+---
+ data/org.gnome.Terminal.desktop.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/data/org.gnome.Terminal.desktop.in b/data/org.gnome.Terminal.desktop.in
+index 06c7214..5125a5c 100644
+--- a/data/org.gnome.Terminal.desktop.in
++++ b/data/org.gnome.Terminal.desktop.in
+@@ -10,6 +10,7 @@ Categories=GNOME;GTK;System;TerminalEmulator;
+ StartupNotify=true
+ StartupWMClass=Gnome-terminal
+ X-GNOME-SingleWindow=false
++OnlyShowIn=GNOME;Unity;
+ Actions=new-window;preferences;
+ X-ExecArg=--
+
diff --git a/debian/patches/Provide-fallback-for-reading-current-directory-if-OS.patch b/debian/patches/Provide-fallback-for-reading-current-directory-if-OS.patch
new file mode 100644
index 0000000..8876977
--- /dev/null
+++ b/debian/patches/Provide-fallback-for-reading-current-directory-if-OS.patch
@@ -0,0 +1,100 @@
+From: Martin Pitt <martinpitt@gnome.org>
+Date: Sun, 31 May 2015 17:09:28 +0000
+Subject: Provide fallback for reading current directory if OSC 7 fails
+
+Bug: https://bugzilla.gnome.org/show_bug.cgi?id=697475
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=712628
+---
+ src/terminal-screen.cc | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 66 insertions(+)
+
+diff --git a/src/terminal-screen.cc b/src/terminal-screen.cc
+index 54e1022..943e0ef 100644
+--- a/src/terminal-screen.cc
++++ b/src/terminal-screen.cc
+@@ -358,6 +358,63 @@ terminal_screen_clear_exec_data (TerminalScreen *screen,
+
+ G_DEFINE_TYPE (TerminalScreen, terminal_screen, VTE_TYPE_TERMINAL)
+
++static char *
++cwd_of_pid (int pid)
++{
++ static const char patterns[][18] = {
++ "/proc/%d/cwd", /* Linux */
++ "/proc/%d/path/cwd", /* Solaris >= 10 */
++ };
++ guint i;
++
++ if (pid == -1)
++ return nullptr;
++
++ /* Try to get the working directory using various OS-specific mechanisms */
++ for (i = 0; i < G_N_ELEMENTS (patterns); ++i)
++ {
++ char cwd_file[64];
++ char buf[PATH_MAX + 1];
++ int len;
++
++ /* disable "format not a string literal" error, we know what we are doing */
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wformat-nonliteral"
++ g_snprintf (cwd_file, sizeof (cwd_file), patterns[i], pid);
++#pragma GCC diagnostic pop
++ len = readlink (cwd_file, buf, sizeof (buf) - 1);
++
++ if (len > 0 && buf[0] == '/')
++ return g_strndup (buf, len);
++
++ /* If that didn't do it, try this hack */
++ if (len <= 0)
++ {
++ char *cwd, *working_dir = NULL;
++
++ cwd = g_get_current_dir ();
++ if (cwd != NULL)
++ {
++ /* On Solaris, readlink returns an empty string, but the
++ * link can be used as a directory, including as a target
++ * of chdir().
++ */
++ if (chdir (cwd_file) == 0)
++ {
++ working_dir = g_get_current_dir ();
++ (void) chdir (cwd);
++ }
++ g_free (cwd);
++ }
++
++ if (working_dir)
++ return working_dir;
++ }
++ }
++
++ return nullptr;
++}
++
+ static void
+ free_tag_data (TagData *tagdata)
+ {
+@@ -1830,12 +1887,21 @@ terminal_screen_button_press (GtkWidget *widget,
+ char *
+ terminal_screen_get_current_dir (TerminalScreen *screen)
+ {
++ TerminalScreenPrivate *priv = screen->priv;
+ const char *uri;
+
+ uri = vte_terminal_get_current_directory_uri (VTE_TERMINAL (screen));
+ if (uri != nullptr)
+ return g_filename_from_uri (uri, nullptr, nullptr);
+
++ if (priv->child_pid > 0) {
++ char *cwd = cwd_of_pid (priv->child_pid);
++ if (cwd != NULL) {
++ g_debug ("terminal_screen_get_current_dir: VTE current dir n/a, reading from /proc: %s", cwd);
++ return cwd;
++ }
++ }
++
+ ExecData *data = screen->priv->exec_data;
+ if (data && data->cwd)
+ return g_strdup (data->cwd);
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..6b7ca2c
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+01_onlyshowin.patch
+Provide-fallback-for-reading-current-directory-if-OS.patch