]> diplodocus.org Git - nmh/blob - etc/mhn.defaults.sh
Fix a segfault that happens when using the -file option.
[nmh] / etc / mhn.defaults.sh
1 #!/bin/sh
2 #
3 # mhn.defaults.sh -- create extra profile file for MIME handling
4 #
5 # USAGE: mhn.defaults.sh [ search-path [ search-prog ]]
6
7 # If a search path is passed to the script, we
8 # use that, else we use a default search path.
9 if [ -n "$1" ]; then
10 SEARCHPATH=$1
11 else
12 SEARCHPATH="$PATH:/usr/demo/SOUND"
13 fi
14
15 # If a search program is passed to the script, we
16 # use that, else we use a default search program.
17 if [ -n "$2" ]; then
18 SEARCHPROG=$2
19 else
20 SEARCHPROG="mhn.find.sh"
21 fi
22
23 # put output into a temporary file, so we
24 # can sort it before output.
25 TMP=/tmp/nmh_temp.$$
26 trap "rm -f $TMP" 0 1 2 3 13 15
27
28 echo "mhstore-store-text: %m%P.txt" >> $TMP
29 echo "mhstore-store-text/richtext: %m%P.rt" >> $TMP
30 echo "mhstore-store-video/mpeg: %m%P.mpg" >> $TMP
31 echo "mhstore-store-application/PostScript: %m%P.ps" >> $TMP
32
33 PGM="`$SEARCHPROG $SEARCHPATH xwud`"
34 if [ ! -z "$PGM" ]; then
35 XWUD="$PGM" X11DIR="`echo $PGM | awk -F/ '{ for(i=2;i<NF;i++)printf "/%s", $i;}'`"/
36 else
37 XWUD= X11DIR=
38 fi
39
40 PGM="`$SEARCHPROG $SEARCHPATH pbmtoxwd`"
41 if [ ! -z "$PGM" ]; then
42 PBM="$PGM" PBMDIR="`echo $PGM | awk -F/ '{ for(i=2;i<NF;i++)printf "/%s", $i;}'`"/
43 else
44 PBM= PBMDIR=
45 fi
46
47 PGM="`$SEARCHPROG $SEARCHPATH xv`"
48 if [ ! -z "$PGM" ]; then
49 echo "mhshow-show-image: %p$PGM -geometry =-0+0 '%f'" >> $TMP
50 elif [ ! -z $"PBM" -a ! -z "$XWUD" ]; then
51 echo "mhshow-show-image/gif: %p${PBMDIR}giftoppm | ${PBMDIR}ppmtopgm | ${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0" >> $TMP
52 echo "mhshow-show-image/x-pbm: %p${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0" >> $TMP
53 echo "mhshow-show-image/x-pgm: %p${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0" >> $TMP
54 echo "mhshow-show-image/x-ppm: %p${PBMDIR}ppmtopgm | ${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0" >> $TMP
55 echo "mhshow-show-image/x-xwd: %p$XWUD -geometry =-0+0" >> $TMP
56
57 PGM="`$SEARCHPROG $SEARCHPATH djpeg`"
58 if [ ! -z "$PGM" ]; then
59 echo "mhshow-show-image/jpeg: %p$PGM -Pg | ${PBMDIR}ppmtopgm | ${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0" >> $TMP
60 fi
61 fi
62
63 if [ -f "/dev/audioIU" ]; then
64 PGM="`$SEARCHPROG $SEARCHPATH recorder`"
65 if [ ! -z "$PGM" ]; then
66 echo "mhstore-store-audio/basic: %m%P.au" >> $TMP
67 echo "mhbuild-compose-audio/basic: ${AUDIODIR}recorder '%f' -au -pause > /dev/tty" >> $TMP
68 echo "mhshow-show-audio/basic: %p${AUDIODIR}splayer -au" >> $TMP
69 fi
70 elif [ -f "/dev/audio" ]; then
71 PGM="`$SEARCHPROG $SEARCHPATH raw2audio`"
72 if [ ! -z "$PGM" ]; then
73 AUDIODIR="`echo $PGM | awk -F/ '{ for(i=2;i<NF;i++)printf "/%s", $i;}'`"/
74 echo "mhstore-store-audio/basic: | ${AUDIODIR}raw2audio -e ulaw -s 8000 -c 1 > %m%P.au" >> $TMP
75 echo "mhstore-store-audio/x-next: %m%P.au" >> $TMP
76 AUDIOTOOL="`$SEARCHPROG $SEARCHPATH audiotool`"
77 if [ ! -z "$AUDIOTOOL" ]; then
78 echo "mhbuild-compose-audio/basic: $AUDIOTOOL '%f' && ${AUDIODIR}raw2audio -F < '%f'" >> $TMP
79 else
80 echo "mhbuild-compose-audio/basic: trap \"exit 0\" 2 && ${AUDIODIR}record | ${AUDIODIR}raw2audio -F" >> $TMP
81 fi
82 echo "mhshow-show-audio/basic: %p${AUDIODIR}raw2audio 2>/dev/null | ${AUDIODIR}play" >> $TMP
83
84 PGM="`$SEARCHPROG $SEARCHPATH adpcm_enc`"
85 if [ ! -z "$PGM" ]; then
86 DIR="`echo $PGM | awk -F/ '{ for(i=2;i<NF;i++)printf "/%s", $i;}'`"/
87 if [ ! -z "$AUDIOTOOL" ]; then
88 echo "mhbuild-compose-audio/x-next: $AUDIOTOOL '%f' && ${DIR}adpcm_enc < '%f'" >> $TMP
89 else
90 echo "mhbuild-compose-audio/x-next: ${AUDIODIR}record | ${DIR}adpcm_enc" >> $TMP
91 fi
92 echo "mhshow-show-audio/x-next: %p${DIR}adpcm_dec | ${AUDIODIR}play" >> $TMP
93 else
94 if [ ! -z "$AUDIOTOOL" ]; then
95 echo "mhbuild-compose-audio/x-next: $AUDIOTOOL '%f'" >> $TMP
96 else
97 echo "mhbuild-compose-audio/x-next: ${AUDIODIR}record" >> $TMP
98 fi
99 echo "mhshow-show-audio/x-next: %p${AUDIODIR}play" >> $TMP
100 fi
101 else
102 echo "mhbuild-compose-audio/basic: cat < /dev/audio" >> $TMP
103 echo "mhshow-show-audio/basic: %pcat > /dev/audio" >> $TMP
104 fi
105 fi
106
107 PGM="`$SEARCHPROG $SEARCHPATH mpeg_play`"
108 if [ ! -z "$PGM" ]; then
109 echo "mhshow-show-video/mpeg: %p$PGM '%f'" >> $TMP
110 fi
111
112 PGM="`$SEARCHPROG $SEARCHPATH lpr`"
113 if [ ! -z "$PGM" ]; then
114 echo "mhshow-show-application/PostScript: %plpr -Pps" >> $TMP
115 else
116 PGM="`$SEARCHPROG $SEARCHPATH lp`"
117 if [ ! -z "$PGM" ]; then
118 echo "mhshow-show-application/PostScript: %plp -dps" >> $TMP
119 fi
120 fi
121
122 PGM="`$SEARCHPROG $SEARCHPATH ivs_replay`"
123 if [ ! -z "$PGM" ]; then
124 echo "mhshow-show-application/x-ivs: %p$PGM -o '%F'" >> $TMP
125 fi
126
127 echo "mhshow-suffix-text/html: .html" >> $TMP
128
129 # I'd like to check if netscape is available and use it preferentially to lynx,
130 # but only once I've added a new %-escape that makes more permanent temp files,
131 # so netscape -remote can be used (without -remote you get a complaint dialog
132 # that another netscape is already running and certain things can't be done).
133 PGM="`$SEARCHPROG $SEARCHPATH lynx`"
134 if [ ! -z "$PGM" ]; then
135 echo "mhshow-show-text/html: %p$PGM '%F'" >> $TMP
136 fi
137
138 PGM="`$SEARCHPROG $SEARCHPATH richtext`"
139 if [ ! -z "$PGM" ]; then
140 echo "mhshow-show-text/richtext: %p$PGM -p '%F'" >> $TMP
141 else
142 PGM="`$SEARCHPROG $SEARCHPATH rt2raw`"
143 if [ ! -z "$PGM" ]; then
144 echo "mhshow-show-text/richtext: %p$PGM < '%f' | fmt -78 | more" >> $TMP
145 fi
146 fi
147
148 # staroffice to read .doc files
149 PGM="`$SEARCHPROG $SEARCHPATH soffice`"
150 if [ ! -z "$PGM" ]; then
151 echo "mhshow-show-application/msword: %psoffice '%F'" >> $TMP
152 echo "mhshow-suffix-application/msword: .doc" >> $TMP
153 fi
154
155 # output a sorted version of the file
156 sort < $TMP
157
158 exit 0
159
160 : not until we get a "safe" postscript environment...
161
162 PGM="`$SEARCHPROG $SEARCHPATH pageview`"
163 if [ "$DISPLAY" = "unix:0.0" -a ! -z "$PGM" ]; then
164 echo "mhshow-show-application/PostScript: %p$PGM -" >> $TMP
165 else
166 PGM="`$SEARCHPROG $SEARCHPATH gs`"
167 if [ ! -z "$PGM" ]; then
168 echo "mhshow-show-application/PostScript: %p$PGM -- '%F'" >> $TMP
169 echo "mhshow-suffix-application/PostScript: .ps" >> $TMP
170 fi
171 fi
172
173 : have to experiment more with this
174
175 PGM="`$SEARCHPROG $SEARCHPATH ivs_record`"
176 if [ ! -z "$PGM" ]; then
177 echo "mhbuild-compose-application/x-ivs: $PGM -u localhost '%F'" >> $TMP
178 fi