[gnome-terminal] screen: Start new tabs/windows with the profile settings
- From: Christian Persch <chpe src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-terminal] screen: Start new tabs/windows with the profile settings
- Date: Sun, 22 Mar 2020 21:36:19 +0000 (UTC)
commit 29cec2866150ae0aa14d28cf30bccfde53b1d111
Author: Christian Persch <chpe src gnome org>
Date: Sun Mar 22 22:33:52 2020 +0100
screen: Start new tabs/windows with the profile settings
... not the client command line arguments.
Fixes: https://gitlab.gnome.org/GNOME/gnome-terminal/issues/236
src/terminal-screen.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 840c0a45..27b07665 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -267,7 +267,8 @@ exec_data_new (void)
}
static ExecData *
-exec_data_clone (ExecData *data)
+exec_data_clone (ExecData *data,
+ gboolean preserve_argv)
{
if (data == NULL)
return NULL;
@@ -277,7 +278,8 @@ exec_data_clone (ExecData *data)
clone->cwd = g_strdup (data->cwd);
/* If FDs were passed, cannot repeat argv. Return data only for env and cwd */
- if (data->fd_list != NULL) {
+ if (!preserve_argv ||
+ data->fd_list != NULL) {
clone->as_shell = TRUE;
return clone;
}
@@ -848,7 +850,7 @@ terminal_screen_reexec_from_screen (TerminalScreen *screen,
g_return_val_if_fail (TERMINAL_IS_SCREEN (parent_screen), FALSE);
- terminal_unref_exec_data ExecData* data = exec_data_clone (parent_screen->priv->exec_data);
+ terminal_unref_exec_data ExecData* data = exec_data_clone (parent_screen->priv->exec_data, FALSE);
gs_free char* cwd = terminal_screen_get_current_dir (parent_screen);
_terminal_debug_print (TERMINAL_DEBUG_PROCESSES,
@@ -1634,7 +1636,7 @@ spawn_result_cb (VteTerminal *terminal,
}
/* Retain info for reexec, if possible */
- ExecData *new_exec_data = exec_data_clone (exec_data);
+ ExecData *new_exec_data = exec_data_clone (exec_data, TRUE);
terminal_screen_clear_exec_data (screen, FALSE);
priv->exec_data = new_exec_data;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]