0
|
1 #! /bin/sh
|
|
2 # '$Id'
|
|
3
|
|
4 if [ -z "$1" ]; then
|
|
5 echo "usage: bootmhn.sh MH-library-area" 1>&2
|
|
6 exit 1
|
|
7 fi
|
|
8 LIB="$1"
|
|
9 MHN="$LIB/mhn_defaults"
|
|
10 TMP=/tmp/mhn$$
|
|
11 trap "rm -f $TMP" 0 1 2 3 13 15
|
|
12
|
|
13 echo "mhn-store-text: %m%P.txt" >> $TMP
|
|
14 echo "mhn-store-text/richtext: %m%P.rt" >> $TMP
|
|
15 echo "mhn-store-video/mpeg: %m%P.mpg" >> $TMP
|
|
16 echo "mhn-store-application/PostScript: %m%P.ps" >> $TMP
|
|
17 echo "mhn-show-application/pgp: %ppgpshow -show '%F' %a" >> $TMP
|
|
18 echo "mhn-store-application/pgp: | pgpshow -store %m%P.pgp %a" >> $TMP
|
|
19 echo "mhn-show-text/pgp: %ppgpshow -show '%F' %a" >> $TMP
|
|
20 echo "mhn-store-text/pgp: | pgpshow -store %m%P.txt %a" >> $TMP
|
|
21 echo "mhn-show-multipart/signed: %ppgpshow -show -mime %f %a" >> $TMP
|
|
22 echo "mhn-show-multipart/encrypted: %ppgpshow -show -mime %f %a" >> $TMP
|
|
23 echo "mhn-store-text/html: %m%P.html" >> $TMP
|
|
24
|
|
25 PGM="`./bootmhn.findit xwud $LIB`"
|
|
26 if [ ! -z "$PGM" ]; then
|
|
27 XWUD="$PGM" X11DIR="`echo $PGM | awk -F/ '{ for(i=2;i<NF;i++)printf "/%s", $i;}'`"/
|
|
28 else
|
|
29 XWUD= X11DIR=
|
|
30 fi
|
|
31
|
|
32 PGM="`./bootmhn.findit pbmtoxwd $LIB`"
|
|
33 if [ ! -z "$PGM" ]; then
|
|
34 PBM="$PGM" PBMDIR="`echo $PGM | awk -F/ '{ for(i=2;i<NF;i++)printf "/%s", $i;}'`"/
|
|
35 else
|
|
36 PBM= PBMDIR=
|
|
37 fi
|
|
38
|
|
39 PGM="`./bootmhn.findit xv $LIB`"
|
|
40 if [ ! -z "$PGM" ]; then
|
|
41 echo "\
|
|
42 mhn-show-image: %p$PGM -geometry =-0+0 '%f'" >> $TMP
|
|
43 elif [ ! -z $"PBM" -a ! -z "$XWUD" ]; then
|
|
44 echo "\
|
|
45 mhn-show-image/gif: %p${PBMDIR}giftoppm | ${PBMDIR}ppmtopgm | ${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0
|
|
46 mhn-show-image/x-pbm: %p${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0
|
|
47 mhn-show-image/x-pgm: %p${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0
|
|
48 mhn-show-image/x-ppm: %p${PBMDIR}ppmtopgm | ${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0
|
|
49 mhn-show-image/x-xwd: %p$XWUD -geometry =-0+0" >> $TMP
|
|
50
|
|
51 PGM="`./bootmhn.findit djpeg $LIB`"
|
|
52 if [ ! -z "$PGM" ]; then
|
|
53 echo "\
|
|
54 mhn-show-image/jpeg: %p$PGM -Pg | ${PBMDIR}ppmtopgm | ${PBMDIR}pgmtopbm | ${PBMDIR}pbmtoxwd | $XWUD -geometry =-0+0" >> $TMP
|
|
55 fi
|
|
56 fi
|
|
57
|
|
58 if [ -f "/dev/audioIU" ]; then
|
|
59 PGM="`./bootmhn.findit recorder $LIB`"
|
|
60 if [ ! -z "$PGM" ]; then
|
|
61 echo "\
|
|
62 mhn-store-audio/basic: %m%P.au
|
|
63 mhn-compose-audio/basic: ${AUDIODIR}recorder '%f' -au -pause > /dev/tty
|
|
64 mhn-show-audio/basic: %p${AUDIODIR}splayer -au" >> $TMP
|
|
65 fi
|
|
66 elif [ -f "/dev/audio" ]; then
|
|
67 PGM="`./bootmhn.findit raw2audio $LIB`"
|
|
68 if [ ! -z "$PGM" ]; then
|
|
69 AUDIODIR="`echo $PGM | awk -F/ '{ for(i=2;i<NF;i++)printf "/%s", $i;}'`"/
|
|
70 echo "\
|
|
71 mhn-store-audio/basic: | ${AUDIODIR}raw2audio -e ulaw -s 8000 -c 1 > %m%P.au
|
|
72 mhn-store-audio/x-next: %m%P.au" >> $TMP
|
|
73 AUDIOTOOL="`./bootmhn.findit audiotool $LIB`"
|
|
74 if [ ! -z "$AUDIOTOOL" ]; then
|
|
75 echo "\
|
|
76 mhn-compose-audio/basic: $AUDIOTOOL %f && ${AUDIODIR}raw2audio -F < %f" >> $TMP
|
|
77 else
|
|
78 echo "\
|
|
79 mhn-compose-audio/basic: trap \"exit 0\" 2 && ${AUDIODIR}record | ${AUDIODIR}raw2audio -F" >> $TMP
|
|
80 fi
|
|
81 echo "\
|
|
82 mhn-show-audio/basic: %p${AUDIODIR}raw2audio 2>/dev/null | ${AUDIODIR}play" >> $TMP
|
|
83
|
|
84 PGM="`./bootmhn.findit adpcm_enc $LIB`"
|
|
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 "\
|
|
89 mhn-compose-audio/x-next: $AUDIOTOOL %f && ${DIR}adpcm_enc < %f" >> $TMP
|
|
90 else
|
|
91 echo "\
|
|
92 mhn-compose-audio/x-next: ${AUDIODIR}record | ${DIR}adpcm_enc" >> $TMP
|
|
93 fi
|
|
94 echo "\
|
|
95 mhn-show-audio/x-next: %p${DIR}adpcm_dec | ${AUDIODIR}play" >> $TMP
|
|
96 else
|
|
97 if [ ! -z "$AUDIOTOOL" ]; then
|
|
98 echo "\
|
|
99 mhn-compose-audio/x-next: $AUDIOTOOL %f" >> $TMP
|
|
100 else
|
|
101 echo "\
|
|
102 mhn-compose-audio/x-next: ${AUDIODIR}record" >> $TMP
|
|
103 fi
|
|
104 echo "\
|
|
105 mhn-show-audio/x-next: %p${AUDIODIR}play" >> $TMP
|
|
106 fi
|
|
107 else
|
|
108 echo "\
|
|
109 mhn-compose-audio/basic: cat < /dev/audio
|
|
110 mhn-show-audio/basic: %pcat > /dev/audio" >> $TMP
|
|
111 fi
|
|
112 fi
|
|
113
|
|
114 PGM="`./bootmhn.findit mpeg_play $LIB`"
|
|
115 if [ ! -z "$PGM" ]; then
|
|
116 echo "\
|
|
117 mhn-show-video/mpeg: %p$PGM '%f'" >> $TMP
|
|
118 fi
|
|
119
|
|
120 PGM="`./bootmhn.findit lpr $LIB`"
|
|
121 if [ ! -z "$PGM" ]; then
|
|
122 echo "\
|
|
123 mhn-show-application/PostScript: %plpr -Pps" >> $TMP
|
|
124 else
|
|
125 PGM="`./bootmhn.findit lp $LIB`"
|
|
126 if [ ! -z "$PGM" ]; then
|
|
127 echo "\
|
|
128 mhn-show-application/PostScript: %plp -dps" >> $TMP
|
|
129 fi
|
|
130 fi
|
|
131
|
|
132 PGM="`./bootmhn.findit ivs_replay $LIB`"
|
|
133 if [ ! -z "$PGM" ]; then
|
|
134 echo "\
|
|
135 mhn-show-application/x-ivs: %p$PGM -o '%F'" >> $TMP
|
|
136 fi
|
|
137
|
|
138 PGM="`./bootmhn.findit richtext $LIB`"
|
|
139 if [ ! -z "$PGM" ]; then
|
|
140 echo "\
|
|
141 mhn-show-text/richtext: %p$PGM -p '%F'" >> $TMP
|
|
142 else
|
|
143 PGM="`./bootmhn.findit rt2raw $LIB`"
|
|
144 if [ ! -z "$PGM" ]; then
|
|
145 echo "\
|
|
146 mhn-show-text/richtext: %p$PGM < '%f' | fmt -78 | more" >> $TMP
|
|
147 fi
|
|
148 fi
|
|
149
|
|
150 PGM="`./bootmhn.findit xterm $LIB`"
|
|
151 if [ ! -z "$PGM" ]; then
|
|
152 echo "\
|
|
153 mhn-charset-iso-8859-1: xterm -fn '-*-*-medium-r-normal-*-*-120-*-*-c-*-iso8859-*' -e %s" >> $TMP
|
|
154 fi
|
|
155
|
|
156 : Let us merge new mhn_defaults in order to add new features.
|
|
157
|
|
158 IFS="$IFS"":"
|
|
159 exist=":"
|
|
160 if [ -f $MHN ]; then
|
|
161 while read line; do
|
|
162 for comp in $line; do
|
|
163 comp_bak=
|
|
164 while test x"$comp" != x"$comp_bak"; do
|
|
165 comp_bak=$comp
|
|
166 comp=`echo $comp | tr A-Z a-z`
|
|
167 done
|
|
168 exist="$exist$comp"":"
|
|
169 break
|
|
170 done
|
|
171 done < $MHN
|
|
172 fi
|
|
173 sort < $TMP | while read line; do
|
|
174 for comp in $line; do
|
|
175 comp_bak=
|
|
176 while test x"$comp" != x"$comp_bak"; do
|
|
177 comp_bak=$comp
|
|
178 comp=`echo $comp | tr A-Z a-z`
|
|
179 done
|
|
180 case "$exist" in
|
|
181 *:${comp}:*)
|
|
182 ;;
|
|
183 *)
|
|
184 echo "$line" >> $MHN
|
|
185 ;;
|
|
186 esac
|
|
187 break
|
|
188 done
|
|
189 done
|
|
190 chmod 644 $MHN
|
|
191
|
|
192 exit 0
|
|
193
|
|
194 : not until we get a "safe" postscript environment...
|
|
195
|
|
196 PGM="`./bootmhn.findit pageview $LIB`"
|
|
197 if [ "$DISPLAY" = "unix:0.0" -a ! -z "$PGM" ]; then
|
|
198 echo "mhn-show-application/PostScript: %p$PGM -" >> $TMP
|
|
199 else
|
|
200 PGM="`./bootmhn.findit gs $LIB`"
|
|
201 if [ ! -z "$PGM" ]; then
|
|
202 echo "mhn-show-application/PostScript: %p$PGM -- '%F'" >> $TMP
|
|
203 fi
|
|
204 fi
|
|
205
|
|
206 : have to experiment more with this
|
|
207
|
|
208 PGM="`./bootmhn.findit ivs_record $LIB`"
|
|
209 if [ ! -z "$PGM" ]; then
|
|
210 echo "\
|
|
211 mhn-compose-application/x-ivs: $PGM -u localhost '%F'" >> $TMP
|
|
212 fi
|