On Tue, Jan 05, 2010 at 11:30:17PM -0500, Joseph Ishac wrote:
Since print_decode is set, mutt is parsing the message before piping it.
I was wondering if there is a way to have mutt hand me the subject of
the message so that I could pass it to the -t option of enscript to
formulate a title.
I've attached my muttPrint script, which uses formail to grab the 
subject to pass to enscript.
Ed
#!/bin/sh
#
# muttPrint
#
# macro index,pager p \
# '<enter-command>source ~/.mutt/rc/print.rc<enter><pipe-message>muttPrint 
[enscript args]<enter>\
# <enter-command>source ~/.mutt/rc/unprint.rc<enter>'

# arguments always passed to enscript
args="-f Times-Roman12 --word-wrap --fancy-header=emacs-custom"

# save the message to a tempfile
: ${TEMP:=$HOME/tmp}
tmpf=$TEMP/muttprint$$
cat >"$tmpf"

# get Subject, stripping all occurrances of 'Re: ' and any initial spaces
subj="$(formail -cx Subject <$tmpf | sed -e 's/Re: \?//g' -e 's/^\s\+//')"

# get Date, and parse into a more regular, but still human-readable format
date="$(date -d "$(formail -cx Date <$tmpf)" +%Y-%m-%d-%H:%M:%S)"

# send message to print with appropriate title and all passed args
enscript --title "$subj $date" $args "$@" <"$tmpf"

# save the enscript return code, remove the temp file, and exit
rc=$?

rm "$tmpf"
exit $rc

Attachment: signature.txt
Description: Digital signature

Reply via email to