54 lines
1.9 KiB
Diff
54 lines
1.9 KiB
Diff
|
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
|
||
|
|