The following 2 invocations of xfterm4 are equivalent: xfterm4 -e pine -p {mail.salford-systems.com}remote_pinerc xfterm4 -e pine The result of this is that if a launcher specifies that the application should run in a terminal, any arguments or command-line flags are ignored. The following, however, works the way it's supposed to: xfterm4 -e "pine -p {mail.salford-systems.com}remote_pinerc"
Additional information: The following code in the xfterm4 script is the culprit: if [ "$1" = "-e" ]; then if [ -n "$2" ]; then ESTRING="$2" shift; shift else shift fi fi While I don't have time to test it at the moment, something like the following should provide the same behavior as xterm -e: if [ "$1" = "-e" ]; then if [ -n "$2" ]; then shift ESTRING="$*" for arg in $*; do shift done fi else shift fi
hmm. that script is really pretty hackish to try to support a bunch of different terminals, and should probably be rewritten to be a bit more robust... though if we only want to support the -e option, i suppose something similar to this solution will be good enough. at any rate, for now just put quotes around it. it doesn't hurt, and i believe we can define whatever semantics we want for our wrapper script ^_~ edited on: 08-22 06:48
Just use quotes
mass reassign from zz-do-not-use to general, so i can remove the zz-do-not-use component. sorry for the spam, search for this string to filter these: fis7cldoq35p3kjdu74emc