X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=man%2Fmhshow.man1;h=79975ef66a8143ff342bd875aed5dcff734cb3e1;hp=4f14ae47e6e8b5d4163cc927fd6f88bf3abb2c22;hb=b6e0badc41f8368a0cb74eecb78666fd8d641529;hpb=a451512234838dcaf6f0a625b228761d0b2575a7 diff --git a/man/mhshow.man1 b/man/mhshow.man1 index 4f14ae4..79975ef 100644 --- a/man/mhshow.man1 +++ b/man/mhshow.man1 @@ -18,14 +18,8 @@ mhshow \- display MIME messages .RB [ \-type .IR content ] \&... -.RB [ \-serialonly " | " \-noserialonly ] .RB [ \-form .IR formfile ] -.RB [ \-rcache -.IR policy ] -.RB [ \-wcache -.IR policy ] -.RB [ \-check " | " \-nocheck ] .RB [ \-version ] .RB [ \-help ] .ad @@ -117,27 +111,12 @@ name of the content, e.g., \*(lqaudio\*(rq. To specify a specific subtype, separate the two with a slash, e.g., \*(lqaudio/basic\*(rq. Note that regardless of the values given to the `\-type' switch, a multipart content (of any subtype listed above) is always acted upon. -Further note that if the `\-type' switch is used, and it is desirable to -act on a message/external-body content, then the `\-type' switch must -be used twice: once for message/external-body and once for the content -externally referenced. .SS "Unseen Sequence" If the profile entry \*(lqUnseen\-Sequence\*(rq is present and non\-empty, then .B mhshow will remove each of the messages shown from each sequence named by the profile entry. -.SS "Checking the Contents" -The -.B \-check -switch tells -.B mhshow -to check each content for an -integrity checksum. If a content has such a checksum (specified as a -Content-MD5 header field), then -.B mhshow -will attempt to verify the -integrity of the content. .SS "Showing the Contents" The headers of each message are displayed with .B mhl @@ -166,16 +145,13 @@ command append a \*(lq.ps\*(rq suffix to the filename if one was missing. As a result, these cannot be used to read the default temporary file. .PP -To get around this, your profile can contain lines of the form: +To get around this, your profile can contain lines of the forms: .PP .RS 5 +.nf mhshow-suffix-/: -.RE -.PP -or -.PP -.RS 5 mhshow-suffix-: +.fi .RE .PP to specify a suffix which can be automatically added to the temporary @@ -222,24 +198,20 @@ The display string may contain the following escapes: .RS 5 .nf .ta \w'%F 'u -%a Insert parameters from Content-Type field -%e exclusive execution +%l Display listing prior to displaying content %f Insert filename containing content -%F %e, %f, and stdin is terminal not content -%l display listing prior to displaying content -%p synonym to %l +%F %f, but stdin is terminal not content +%a Insert parameters from Content-Type field %s Insert content subtype +%c Insert foreign charset %d Insert content description -%% Insert the character % +%% The character % .fi .RE .PP -For those display strings containing the e- or F-escape, -.B mhshow -will -execute at most one of these at any given time. Although the F-escape -expands to be the filename containing the content, the e-escape has no -expansion as far as the shell is concerned. +.B Mhshow +processes the MIME parts serially, i.e. the next display process +is executed after the previous one has terminated. .PP Further, when .B mhshow @@ -259,8 +231,8 @@ has the following default values: .PP .RS 5 .nf -mhshow-show-text/plain: %l '%F' -mhshow-show-message/rfc822: %lshow \-file '%F' +mhshow-show-text/plain: %liconv -f +mhshow-show-message/rfc822: %lshow \-file %F .fi .RE .PP @@ -274,12 +246,6 @@ multipart (without a profile entry), will be treated as multipart/mixed. .PP If none of these apply, then .B mhshow -will check to see if the message -has an application/octet-stream content with parameter \*(lqtype=tar\*(rq. -If so, -.B mhshow -will use an appropriate command. If not, -.B mhshow will complain. .PP Example entries might be: @@ -287,27 +253,22 @@ Example entries might be: .RS 5 .nf mhshow-show-audio/basic: raw2audio 2>/dev/null | play -mhshow-show-image: xv '%f' +mhshow-show-image: xv %f mhshow-show-application/PostScript: lpr -Pps .fi .RE .PP -Note that when using the f- or F-escape, it's a good idea to use -single-quotes around the escape. This prevents misinterpretation by -the shell of any funny characters that might be present in the filename. +When expanding %f and %F escapes, the file names get wrapped in +single-quotes automatically. .PP Finally, .B mhshow -will process each message serially\0--\0it won't start +will process each message serially \- it won't start showing the next message until all the commands executed to display the -current message have terminated. In the case of a multipart content -(of any subtype listed above), the content contains advice indicating if -the parts should be displayed serially or in parallel. Because this may -cause confusion, particularly on uni-window displays, the -.B \-serialonly -switch can be given to tell +current message have terminated. Although a multipart content may +contain advice to display the parts in parallel, .B mhshow -to never display parts in parallel. +will never do so. .SS "Showing Alternate Character Sets" Because a content of type text might be in a non-ASCII character set, when @@ -315,95 +276,29 @@ set, when encounters a \*(lqcharset\*(rq parameter for this content, it checks if your terminal can display this character set natively. -.B mhn -checks this by examining the the environment -variable -.BR $MM_CHARSET . -If the value of this environment variable is equal -to the value of the charset parameter, then -.B mhshow -assumes it can -display this content without any additional setup. If this environment -variable is not set, .B mhshow -will assume a value of \*(lqUS-ASCII\*(rq. -If the character set cannot be displayed natively, then -.B mhshow -will look for an entry of the form: -.PP -.RS 5 -mhshow-charset- -.RE -.PP -which should contain a command creating an environment to render -the character set. This command string should containing a single -\*(lq%s\*(rq, which will be filled-in with the command to display the -content. -.PP -Example entries might be: -.PP -.RS 5 -mhshow-charset-iso-8859-1: xterm -fn '-*-*-medium-r-normal-*-*-120-*-*-c-*-iso8859-*' -e %s -.RE +checks this by first examining the the environment +variable +.B $MM_CHARSET +and if not set, taking the character encoding of the current locale. .PP -or +If the character set of text/plain cannot be displayed natively, then +the default display method converts the content automatically by +piping it through: .PP .RS 5 -mhshow-charset-iso-8859-1: '%s' +iconv -f '' .RE .PP -The first example tells -.B mhshow -to start -.B xterm -and load the -appropriate character set for that message content. The second example -tells -.B mhshow -that your pager (or other program handling that content -type) can handle that character set, and that no special processing is -needed beforehand. -.PP -Note that many pagers strip off the high-order bit or have problems -displaying text with the high-order bit set. However, the pager -.B less -has support for single-octet character sets. The source -to -.B less -is available on many ftp sites carrying free software. -In order to view messages sent in the ISO-8859-1 character set using -.BR less , -.PP -put these lines in your -.I \&.login -file: +Note that if you have a custom `mhshow-show-*' display string, you +need to care yourself for converting the encodings. +(The foreign charset is available through the %c escape.) .PP -.RS 5 -.nf -setenv LESSCHARSET latin1 -setenv LESS "-f" -.fi -.RE +The tool +.B iconv +needs to be available. .PP -The first line tells -.B less -to use the ISO-8859-1 definition for -determining whether a character is \*(lqnormal\*(rq, \*(lqcontrol\*(lq, -or \*(lqbinary\*(rq. The second line tells -.B less -not to warn you -if it encounters a file that has non-ASCII characters. Then, -set the -.I Pager -profile entry to -.BR less , -and it will get -called automatically. (To handle other single-octet character sets, -look at the -.BR less (1) -manual entry for information about the -.B $LESSCHARDEF -environment variable.) +`mhshow-charset-*' profile entries are not supported anymore. .SS "Messages of Type message/partial" .B mhshow cannot directly display messages of type partial. @@ -413,100 +308,10 @@ Check the man page for .BR mhstore (1) for details. .SS "External Access" -For contents of type message/external-body, -.B mhshow -supports these access-types: -.PP -.IP \(bu 4 -afs -.IP \(bu 4 -anon-ftp -.IP \(bu 4 -ftp -.IP \(bu 4 -local-file -.IP \(bu 4 -mail-server -.PP -For the \*(lqanon-ftp\*(rq and \*(lqftp\*(rq access types, -.B mhshow -will look for the \*(lqnmh-access-ftp\*(rq -profile entry, e.g., -.PP -.RS 5 -nmh-access-ftp: myftp.sh -.RE -.PP -to determine the pathname of a program to perform the FTP retrieval. -.PP -This program is invoked with these arguments: -.PP -.RS 5 -.nf -domain name of FTP-site -username -password -remote directory -remote filename -local filename -\*(lqascii\*(rq or \*(lqbinary\*(rq -.fi -.RE -.PP -The program should terminate with an exit status of zero if the -retrieval is successful, and a non-zero exit status otherwise. -.SS "The Content Cache" -When -.B mhshow -encounters an external content containing a -\*(lqContent-ID:\*(rq field, and if the content allows caching, then -depending on the caching behavior of -.BR mhshow , -the content might be read from or written to a cache. -.PP -The caching behavior of -.B mhshow -is controlled with the -.B \-rcache -and -.B \-wcache -switches, which define the policy for reading from, -and writing to, the cache, respectively. One of four policies may be -specified: \*(lqpublic\*(rq, indicating that -.B mhshow -should make use -of a publically-accessible content cache; \*(lqprivate\*(rq, indicating -that -.B mhshow -should make use of the user's private content cache; -\*(lqnever\*(rq, indicating that -.B mhshow -should never make use of -caching; and, \*(lqask\*(rq, indicating that -.B mhshow -should ask the user. -.PP -There are two directories where contents may be cached: the profile entry -\*(lqnmh-cache\*(rq names a directory containing world-readable contents, and, -the profile entry \*(lqnmh-private-cache\*(rq names a directory containing -private contents. The former should be an absolute (rooted) directory -name. -.PP -For example, -.PP -.RS 5 -nmh-cache: /tmp -.RE -.PP -might be used if you didn't care that the cache got wiped after each -reboot of the system. The private cache is interpreted relative to the user's -mail storage, if not rooted, e.g., -.PP -.RS 5 -nmh-private-cache: .cache -.RE -.PP -(which is the default value). +.B Mhshow +does not automatically retrieve message/external-body parts (anymore), +but prints the relevant information to enable the user to retrieve +the files manually. .SS "User Environment" Because the display environment in which .B mhshow @@ -560,10 +365,6 @@ installation. ^Path:~^To determine the user's mail storage ^Current\-Folder:~^To find the default current folder ^Unseen\-Sequence:~^To name sequences denoting unseen messages -^nmh-access-ftp:~^Program to retrieve contents via FTP -^nmh-cache~^Public directory to store cached external contents -^nmh-private-cache~^Personal directory to store cached external contents -^mhshow-charset-~^Template for environment to render character sets ^mhshow-show-*~^Template for displaying contents ^Pager:~^Default program to display text/plain content .fi @@ -575,13 +376,8 @@ mhbuild(1), mhl(1), mhlist(1), mhstore(1), sendfiles(1) .nf .RB ` +folder "' defaults to the current folder" .RB ` msgs "' defaults to cur" -.RB ` \-nocheck ' .RB ` \-form \ mhl.headers' -.RB ` \-rcache \ ask' -.RB ` \-realsize ' -.RB ` \-noserialonly ' .RB ` \-noverbose ' -.RB ` \-wcache \ ask' .fi .SH CONTEXT