-#!/bin/sh
+#! /bin/sh
#
# mhn.defaults.sh -- create extra profile file for MIME handling
#
TMP=/tmp/nmh_temp.$$
trap "rm -f $TMP" 0 1 2 3 13 15
-PGM=`$SEARCHPROG "$SEARCHPATH" w3m`
-if [ ! -z "$PGM" ]; then
- echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
-$PGM "'-dump ${charset:+-I "$charset"} -O utf-8 -T text/html %F' >> $TMP
+if [ ! -z `$SEARCHPROG "$SEARCHPATH" par` ]; then
+ #### The widths here correspond to those for the text browsers below.
+ textfmt=' | par 64'
+ replfmt=" | sed 's/^\(.\)/> \1/; s/^$/>/;' | par 64"
+elif [ ! -z `$SEARCHPROG "$SEARCHPATH" fmt` ]; then
+ textfmt=' | fmt'
+ replfmt=" | fmt | sed 's/^\(.\)/> \1/; s/^$/>/;'"
else
- PGM=`$SEARCHPROG "$SEARCHPATH" lynx`
- if [ ! -z "$PGM" ]; then
- #### lynx indents with 3 spaces, remove them and any trailing spaces.
- echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
-$PGM "'-child -dump -force_html ${charset:+--assume_charset "$charset"} %F | '"\
-expand | sed -e 's/^ //' -e 's/ *$//'" >> $TMP
- else
- PGM=`$SEARCHPROG "$SEARCHPATH" elinks`
- if [ ! -z "$PGM" ]; then
- echo "mhfixmsg-format-text/html: $PGM -dump -force-html \
--no-numbering -eval 'set document.browse.margin_width = 0' %F" >> $TMP
- fi
- fi
+ textfmt=
+ replfmt=
fi
+[ ! -z `$SEARCHPROG "$SEARCHPATH" iconv` ] &&
+ charsetconv=' | iconv -f ${charset:-us-ascii} -t utf-8'"${textfmt}" ||
+ charsetconv=
-echo "mhstore-store-text: %m%P.txt" >> $TMP
-echo "mhstore-store-text/richtext: %m%P.rt" >> $TMP
-echo "mhstore-store-video/mpeg: %m%P.mpg" >> $TMP
-echo "mhstore-store-application/PostScript: %m%P.ps" >> $TMP
+cat >>"$TMP" <<'EOF'
+mhstore-store-text: %m%P.txt
+mhstore-store-text/calendar: %m%P.ics
+mhstore-store-text/html: %m%P.html
+mhstore-store-text/richtext: %m%P.rt
+mhstore-store-video/mpeg: %m%P.mpg
+mhstore-store-application/PostScript: %m%P.ps
+EOF
PGM=`$SEARCHPROG "$SEARCHPATH" xwud`
if [ ! -z "$PGM" ]; then
#### mhbuild-disposition-<type>[/<subtype>] entries are used by the
#### WhatNow attach for deciding whether the Content-Disposition
#### should be 'attachment' or 'inline'. Only those values are
-#### supported.
+#### supported. mhbuild-convert-text/html is defined below.
####
-cat <<EOF >> ${TMP}
+cat <<EOF >>${TMP}
+mhbuild-convert-text/calendar: mhical -infile %F -contenttype
+mhbuild-convert-text: charset=%{charset}; iconv -f \${charset:-us-ascii} -t utf-8 %F${replfmt}
mhbuild-disposition-text/calendar: inline
mhbuild-disposition-message/rfc822: inline
EOF
fi
fi
+echo "mhshow-show-text/calendar: mhical -infile %F" >> $TMP
+echo "mhshow-show-application/ics: mhical -infile %F" >> $TMP
+echo "mhfixmsg-format-text/calendar: mhical -infile %F" >> $TMP
+echo "mhfixmsg-format-application/ics: mhical -infile %F" >> $TMP
+
PGM=`$SEARCHPROG "$SEARCHPATH" ivs_replay`
if [ ! -z "$PGM" ]; then
echo "mhshow-show-application/x-ivs: %l$PGM -o %F" >> $TMP
mhshow-suffix-image/png: .png
mhshow-suffix-image/tiff: .tif
mhshow-suffix-image/tiff: .tiff
+mhshow-suffix-text: .txt
mhshow-suffix-text/calendar: .ics
mhshow-suffix-text/css: .css
mhshow-suffix-text/html: .html
PGM=`$SEARCHPROG "$SEARCHPATH" w3m`
if [ ! -z "$PGM" ]; then
echo 'mhshow-show-text/html: charset=%{charset}; '"\
-%l$PGM"' -dump ${charset:+-I "$charset"} -T text/html %F' >> $TMP
+%l$PGM"' -dump ${charset:+-I} ${charset:+"$charset"} -T text/html %F' >> $TMP
+ echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
+$PGM "'-dump ${charset:+-I} ${charset:+"$charset"} -O utf-8 -T text/html %F' \
+ >> $TMP
+ echo 'mhbuild-convert-text/html: charset=%{charset}; '"\
+$PGM "'-dump ${charset:+-I} ${charset:+"$charset"} -O utf-8 -T text/html %F '"\
+${replfmt}" >> $TMP
else
PGM=`$SEARCHPROG "$SEARCHPATH" lynx`
if [ ! -z "$PGM" ]; then
echo 'mhshow-show-text/html: charset=%{charset}; '"\
-%l$PGM"' -child -dump -force-html ${charset:+--assume_charset "$charset"} %F' >> $TMP
+%l$PGM"' -child -dump -force-html ${charset:+--assume_charset} ${charset:+"$charset"} %F' >> $TMP
+ #### lynx indents with 3 spaces, remove them and any trailing spaces.
+ echo 'mhfixmsg-format-text/html: charset=%{charset}; '"\
+$PGM "'-child -dump -force_html ${charset:+--assume_charset} ${charset:+"$charset"} %F | '"\
+expand | sed -e 's/^ //' -e 's/ *$//'" >> $TMP
+ echo 'mhbuild-convert-text/html: charset=%{charset}; '"\
+$PGM "'-child -dump -force_html ${charset:+--assume_charset} ${charset:+"$charset"} '"\
+%F${replfmt}" >> $TMP
else
- PGM=`$SEARCHPROG "$SEARCHPATH" elinks`
- if [ ! -z "$PGM" ]; then
- echo "mhshow-show-text/html: $PGM -dump -force-html \
+ PGM=`$SEARCHPROG "$SEARCHPATH" elinks`
+ if [ ! -z "$PGM" ]; then
+ echo "mhshow-show-text/html: %l$PGM -dump -force-html \
-eval 'set document.browse.margin_width = 0' %F" >> $TMP
- fi
+ echo "mhfixmsg-format-text/html: $PGM -dump -force-html \
+-no-numbering -eval 'set document.browse.margin_width = 0' %F" >> $TMP
+ echo "mhbuild-convert-text/html: $PGM -dump -force-html \
+-no-numbering -eval 'set document.browse.margin_width = 0' %F${replfmt}" >> $TMP
+ else
+ echo 'mhbuild-convert-text/html: cat %F' >> $TMP
+ fi
fi
fi
# access-type.
case "`uname`" in
FreeBSD)
- echo "nmh-access-url: fetch -a" >> $TMP
+ echo "nmh-access-url: fetch -o -" >> $TMP
;;
*)
PGM=`$SEARCHPROG "$SEARCHPATH" curl`
;;
esac
-# output a sorted version of the file
-sort < $TMP
+# Output a sorted version of the file, along with some comments in
+# appropriate places.
+echo '#: This file was generated by mhn.defaults.sh.'
+sort < $TMP | \
+ sed -e 's|^\(mhshow-show-application/ics:.*\)|#: might need -notextonly -noinlineonly or -part/-type to show application/ics parts\n\1|'
exit 0