[Xfce4-commits] <xfce-utils:master> Fix handling of CLI arguments in terminal (Bug #5478).
Jérôme Guelfucci
noreply at xfce.org
Mon Oct 25 20:28:02 CEST 2010
Updating branch refs/heads/master
to fcdf7d3bfe11e1ef8a8a100fc27624f5bb88d36b (commit)
from 32fe44d397572654258108291d784b200d6daeb0 (commit)
commit fcdf7d3bfe11e1ef8a8a100fc27624f5bb88d36b
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date: Mon Oct 25 20:25:25 2010 +0200
Fix handling of CLI arguments in terminal (Bug #5478).
xfrun/xfrun-dialog.c | 25 ++++++++++++-------------
1 files changed, 12 insertions(+), 13 deletions(-)
diff --git a/xfrun/xfrun-dialog.c b/xfrun/xfrun-dialog.c
index cbd6b62..30af751 100644
--- a/xfrun/xfrun-dialog.c
+++ b/xfrun/xfrun-dialog.c
@@ -502,27 +502,26 @@ xfrun_run_clicked(GtkWidget *widget,
if(g_str_has_prefix(cmdline, "#"))
{
/* Shortcut to open manpages in terminal */
- new_cmdline = g_strconcat("exo-open --launch TerminalEmulator 'man ",
- cmdline + 1, "'", NULL);
+ new_cmdline = g_strconcat("man ", cmdline + 1, NULL);
g_free(cmdline);
cmdline = new_cmdline;
- /* We already do that */
- in_terminal = FALSE;
+ /* Make sure this is opened in a terminal */
+ in_terminal = TRUE;
}
if(in_terminal) {
- gint i = 0;
+ const gchar *quoted_cmdline;
- argv = g_new0(gchar *, 4);
- argv[i++] = "xfterm4";
- argv[i++] = "-e";
- argv[i++] = cmdline;
- argv[i++] = NULL;
- } else {
- /* error is handled below */
- g_shell_parse_argv(cmdline, &argc, &argv, &error);
+ quoted_cmdline = g_shell_quote (cmdline);
+ new_cmdline = g_strconcat ("exo-open --launch TerminalEmulator ",
+ quoted_cmdline, NULL);
+ g_free(cmdline);
+ cmdline = new_cmdline;
}
+ /* error is handled below */
+ g_shell_parse_argv(cmdline, &argc, &argv, &error);
+
result = (argv && gdk_spawn_on_screen(gscreen,
dialog->priv->working_directory,
argv, NULL, G_SPAWN_SEARCH_PATH,
More information about the Xfce4-commits
mailing list