summaryrefslogtreecommitdiff
path: root/exo-open
diff options
context:
space:
mode:
authorNick Schermer <nick@xfce.org>2009-07-10 18:38:05 +0000
committerNick Schermer <nick@xfce.org>2009-07-10 18:38:05 +0000
commit6af5a64f0a5b35551ad819e68cc9e3b91d44c7cd (patch)
tree815938e72f2b5af23c9ccc24c2c5071f9d638f94 /exo-open
parentf578ac2d91d63241af2db9987e6b94514f5d183e (diff)
downloadexo-6af5a64f0a5b35551ad819e68cc9e3b91d44c7cd.tar.gz
Make run in terminal in xfrun4 work again.
(Old svn revision: 30252)
Diffstat (limited to 'exo-open')
-rw-r--r--exo-open/main.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/exo-open/main.c b/exo-open/main.c
index 96bd1ba..f87cc49 100644
--- a/exo-open/main.c
+++ b/exo-open/main.c
@@ -36,6 +36,7 @@
#include <exo/exo.h>
+
/**
* For testing this code the following commands should work:
*
@@ -43,6 +44,8 @@
* exo-open http://xfce.org
* exo-open --launch TerminalEmulator ./script.sh 'something with a space' 'nospace' (bug #5132).
* exo-open --launch TerminalEmulator ssh -l username some.host.com
+ * xfterm4 -e ssh -l ssh -l username some.host.com (bug #5301, this generates line below)
+ * exo-open --launch TerminalEmulator 'ssh -l username some.host.com'
**/
@@ -163,8 +166,10 @@ main (int argc, char **argv)
if (i > 1)
join = g_string_append_c (join, ' ');
- /* only quote arguments with spaces */
- if (strchr (argv[i], ' ') != NULL)
+ /* only quote arguments with spaces if there are multiple
+ * arguments to be merged, this is a bit of magic to make
+ * common cares work property, see sample above with xfrun4 */
+ if (argc > 2 && strchr (argv[i], ' ') != NULL)
{
quoted = g_shell_quote (argv[i]);
join = g_string_append (join, quoted);