From df8b4d1cd393e78171645a0800ffd38d75ecc7d3 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Thu, 6 May 2021 21:24:08 +0200 Subject: [PATCH] Backport upstream fix to keep working directory when executing programs https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/664 --- 664.patch | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ nautilus.spec | 9 ++++++++- 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 664.patch diff --git a/664.patch b/664.patch new file mode 100644 index 0000000..ca836d8 --- /dev/null +++ b/664.patch @@ -0,0 +1,53 @@ +From 3e03a8b05258cf88bd61c61e3ac599103d464b38 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= +Date: Sat, 1 May 2021 23:54:43 +0100 +Subject: [PATCH] files-view: Set PWD to current dir to run scripts + +When running an executable text file as a program, it's reasonable to +expect that the directory currently displayed by the file browser +becomes the current working directory for that program. This used to be +handled correctly by the activation action. + +While taking "Run as a Program" out of activation into a standalone +action, this behavior was left behind. + +Let's add it back to the standalone action to fix the regression. + +Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/1842 +--- + src/nautilus-files-view.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c +index 250c37264..e027f10e0 100644 +--- a/src/nautilus-files-view.c ++++ b/src/nautilus-files-view.c +@@ -6619,6 +6619,7 @@ action_run_in_terminal (GSimpleAction *action, + { + NautilusFilesView *view; + g_autolist (NautilusFile) selection = NULL; ++ g_autofree char *old_working_dir = NULL; + g_autofree char *uri = NULL; + g_autofree char *executable_path = NULL; + g_autofree char *quoted_path = NULL; +@@ -6636,6 +6637,8 @@ action_run_in_terminal (GSimpleAction *action, + return; + } + ++ old_working_dir = change_to_view_directory (view); ++ + uri = nautilus_file_get_activation_uri (NAUTILUS_FILE (selection->data)); + executable_path = g_filename_from_uri (uri, NULL, NULL); + quoted_path = g_shell_quote (executable_path); +@@ -6646,6 +6649,8 @@ action_run_in_terminal (GSimpleAction *action, + DEBUG ("Launching in terminal %s", quoted_path); + + nautilus_launch_application_from_command (screen, quoted_path, TRUE, NULL); ++ ++ g_chdir (old_working_dir); + } + + #define BG_KEY_PRIMARY_COLOR "primary-color" +-- +GitLab + diff --git a/nautilus.spec b/nautilus.spec index 1bcfb06..b38576c 100644 --- a/nautilus.spec +++ b/nautilus.spec @@ -6,13 +6,17 @@ Name: nautilus Version: 40.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: File manager for GNOME License: GPLv3+ URL: https://wiki.gnome.org/Apps/Nautilus Source0: https://download.gnome.org/sources/%{name}/40/%{name}-%{tarball_version}.tar.xz +# Backported from upstream +# https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/664 +Patch0: 664.patch + BuildRequires: desktop-file-utils BuildRequires: gcc BuildRequires: gettext @@ -141,6 +145,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop %doc %{_datadir}/gtk-doc/html/libnautilus-extension/ %changelog +* Thu May 06 2021 Kalev Lember - 40.1-2 +- Backport upstream fix to keep working directory when executing programs + * Wed May 05 2021 Kalev Lember - 40.1-1 - Update to 40.1