]> diplodocus.org Git - nmh/blobdiff - etc/mhn.defaults.sh
sbr/utils.c: Add HasSuffix(s, suffix).
[nmh] / etc / mhn.defaults.sh
index d9d35b00f496117395c41a69750b593c42033c8b..5e7c66a6b14322cb31af89bc021c52220f498d82 100755 (executable)
@@ -25,31 +25,29 @@ fi
 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/html: %m%P.html" >> $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
@@ -129,9 +127,11 @@ fi
 #### 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
@@ -181,6 +181,9 @@ else
     fi
 fi
 
+echo "mhshow-show-text/calendar: mhical -infile %F" >> $TMP
+echo "mhfixmsg-format-text/calendar: mhical -infile %F" >> $TMP
+
 PGM=`$SEARCHPROG "$SEARCHPATH" ivs_replay`
 if [ ! -z "$PGM" ]; then
        echo "mhshow-show-application/x-ivs: %l$PGM -o %F" >> $TMP
@@ -282,18 +285,37 @@ EOF
 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