X-Git-Url: https://projects.mako.cc/source/muttjump/blobdiff_plain/ea9f6989b42d289af2da02c412d53fb532e4a908..2a0aaa28a321c25650d5a34f2a8d458617074452:/muttjump diff --git a/muttjump b/muttjump index e7b5cdb..f377160 100755 --- a/muttjump +++ b/muttjump @@ -54,6 +54,10 @@ function die () { exit 1 } +function quote () { + echo \'${1//\'/\'\\\'\'}\' +} + # Check command-line arguments and STDIN if tty -s || [ $# -ne 0 ] ; then cat >&2 <$orig_maildir$jump_cmd\"" else screen_window_name=$(MUTTJUMP_SCREEN_WINDOW_NAME_MANGLE "$orig_maildir") - screen_opts="" + declare -a screen_opts if [ -n "$MUTTJUMP_SCREEN_SESSION" ] ; then - screen_opts="-S $MUTTJUMP_SCREEN_SESSION" + screen_opts=("-S" "$MUTTJUMP_SCREEN_SESSION") + screen_opts_str="-S $(quote "$MUTTJUMP_SCREEN_SESSION")" fi - $SCREEN $screen_opts -X eval "select $screen_window_name" "stuff \":push \\\"$jump_cmd\\\" -\"" + $SCREEN "${screen_opts[@]}" -p "$screen_window_name" -X select . + $SCREEN "${screen_opts[@]}" -p "$screen_window_name" -X stuff ":push \"$jump_cmd\" " if [ $? != 0 ] ; then die "You have to manually start a screen session with: -$SCREEN $screen_opts -t $screen_window_name $MUTT -f \"$orig_maildir\"" +$SCREEN $screen_opts_str -t $(quote "$screen_window_name") $MUTT -f $(quote "$orig_maildir")" fi fi