Backport upstream fix to keep working directory when executing programs

https://gitlab.gnome.org/GNOME/nautilus/-/merge_requests/664
This commit is contained in:
Kalev Lember 2021-05-06 21:24:08 +02:00
parent 556b556f68
commit df8b4d1cd3
2 changed files with 61 additions and 1 deletions

53
664.patch Normal file
View File

@ -0,0 +1,53 @@
From 3e03a8b05258cf88bd61c61e3ac599103d464b38 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ant=C3=B3nio=20Fernandes?= <antoniof@gnome.org>
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

View File

@ -6,13 +6,17 @@
Name: nautilus Name: nautilus
Version: 40.1 Version: 40.1
Release: 1%{?dist} Release: 2%{?dist}
Summary: File manager for GNOME Summary: File manager for GNOME
License: GPLv3+ License: GPLv3+
URL: https://wiki.gnome.org/Apps/Nautilus URL: https://wiki.gnome.org/Apps/Nautilus
Source0: https://download.gnome.org/sources/%{name}/40/%{name}-%{tarball_version}.tar.xz 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: desktop-file-utils
BuildRequires: gcc BuildRequires: gcc
BuildRequires: gettext BuildRequires: gettext
@ -141,6 +145,9 @@ desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/*.desktop
%doc %{_datadir}/gtk-doc/html/libnautilus-extension/ %doc %{_datadir}/gtk-doc/html/libnautilus-extension/
%changelog %changelog
* Thu May 06 2021 Kalev Lember <klember@redhat.com> - 40.1-2
- Backport upstream fix to keep working directory when executing programs
* Wed May 05 2021 Kalev Lember <klember@redhat.com> - 40.1-1 * Wed May 05 2021 Kalev Lember <klember@redhat.com> - 40.1-1
- Update to 40.1 - Update to 40.1