X-Git-Url: https://projects.mako.cc/source/muttjump/blobdiff_plain/46afe24c0022bfb3218949426d6be6a26bb495ec..169f76f754e9e4632c165c4ef90c6d0b23bfe99d:/muttjump diff --git a/muttjump b/muttjump index 25720f4..1f16321 100755 --- a/muttjump +++ b/muttjump @@ -46,6 +46,7 @@ MAIRIX=${MAIRIX:-mairix} MU=${MU:-mu} NMZMAIL=${NMZMAIL:-nmzmail} SCREEN=${SCREEN:-screen} +FORMAIL=${FORMAIL:-formail} function die () { echo -e >&2 "$0: $1" @@ -70,7 +71,11 @@ if ! type -p $MUTT >/dev/null ; then fi # search for Message-ID in STDIN -msgid=$(sed -n 's/^Message-ID: \(.*\)/\1/Ip' | head -n1) +if type -p $FORMAIL >/dev/null ; then + msgid=$(formail -c -z -x Message-ID | head -n1) +else + msgid=$(sed -n 's/^Message-ID: \(.*\)/\1/Ip' | head -n1) +fi if [ -z "$msgid" ] ; then die "could not find Message-ID header in standard input" fi @@ -113,7 +118,7 @@ if [ ! -d "$orig_maildir/cur" ] ; then die "directory \"$orig_maildir\" doesn't exist or is no Maildir" fi -jump_cmd="$orig_maildir<$MUTTJUMP_MODE>~i $msgid" +jump_cmd="$orig_maildir<$MUTTJUMP_MODE>~i '$msgid'" if [ "$MUTTJUMP_USE_SCREEN" = no ] ; then @@ -135,8 +140,8 @@ else screen_opts="-S $MUTTJUMP_SCREEN_SESSION" fi - $SCREEN $screen_opts -X eval "select $screen_window_name" "stuff ':push \"$jump_cmd\" -'" + $SCREEN $screen_opts -X eval "select $screen_window_name" "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\""