mh-e: Viewing
6.1 Viewing Your Mail
=====================
The command <RET> (‘mh-show’) displays the message that the cursor is on
while ‘mouse-2’ (‘mh-show-mouse’) displays the message that the mouse
cursor is on. If the message is already displayed, it scrolls to the
beginning of the message. Use <SPC> (‘mh-page-msg’) and <BS>
(‘mh-previous-page’) to move forwards and backwards one page at a time
through the message. You can give either of these commands a prefix
argument that specifies the number of lines to scroll (such as ‘10
<SPC>’). The <SPC> command will also show the next undeleted message if
it is used at the bottom of a message. MH-E normally hides a lot of the
superfluous header fields that mailers add to a message, but if you wish
to see all of them, use the command ‘,’ (comma; ‘mh-header-display’).
The option ‘mh-show-maximum-size’ provides an opportunity to skip
over large messages which may be slow to load. The default value of 0
means that all message are shown regardless of size.
A litany of options control what displayed messages look like.
First, the appearance of the header fields can be modified by
customizing the associated face: ‘mh-show-to’, ‘mh-show-cc’,
‘mh-show-from’, ‘mh-show-date’, and ‘mh-show-subject’. The face
‘mh-show-header’ is used to deemphasize the other, less interesting,
header fields.
Normally messages are delivered with a handful of uninteresting
header fields. These are hidden by turning on the option
‘mh-clean-message-header-flag’ (which it is by default). The header
fields listed in the option ‘mh-invisible-header-fields-default’ are
hidden, although you can check off any field that you would like to see.
Header fields that you would like to hide that aren’t listed can be
added to the option ‘mh-invisible-header-fields’ with a couple of
caveats. Regular expressions are not allowed. Unique fields should
have a ‘:’ suffix; otherwise, the element can be used to render
invisible an entire class of fields that start with the same prefix. If
you think a header field should be generally ignored, please update SF
#245 (https://sourceforge.net/p/mh-e/bugs/245/).
MH-E can display the content of ‘Face:’, ‘X-Face:’, and
‘X-Image-URL:’ header fields. If any of these fields occur in the
header of your message, the sender’s face will appear in the ‘From:’
header field. If more than one of these fields appear, then the first
field found in the order ‘Face:’, ‘X-Face:’, and ‘X-Image-URL:’ will be
used. The option ‘mh-show-use-xface-flag’ is used to turn this feature
on and off. This feature will be turned on by default if your system
supports it.
The first header field used, if present, is the Gnus-specific ‘Face:’
field(1).
Next is the traditional ‘X-Face:’ header field(2). MH-E renders the
foreground and background of the image using the associated attributes
of the face ‘mh-show-xface’.
Finally, MH-E will display images referenced by the ‘X-Image-URL:’
header field if neither the ‘Face:’ nor the ‘X-Face:’ fields are
present(3). Of the three header fields this is the most efficient in
terms of network usage since the image doesn’t need to be transmitted
with every single mail. The option ‘mh-fetch-x-image-url’ controls the
fetching of the ‘X-Image-URL:’ header field image with the following
values:
‘Ask Before Fetching’
You are prompted before the image is fetched. MH-E will remember
your reply and will either use the already fetched image the next
time the same URL is encountered or silently skip it if you didn’t
fetch it the first time. This is a good setting.
‘Never Fetch’
Images are never fetched and only displayed if they are already
present in the cache. This is the default.
There isn’t a value of ‘Always Fetch’ for privacy and DOS (denial of
service) reasons. For example, fetching a URL can tip off a spammer
that you’ve read his email (which is why you shouldn’t blindly answer
yes if you’ve set this option to ‘Ask Before Fetching’). Someone may
also flood your network and fill your disk drive by sending a torrent of
messages, each specifying a unique URL to a very large file.
The cache of images is found in the directory ‘.mhe-x-image-cache’
within your MH directory. You can add your own face to the ‘From:’
field too. Picture.
Normally MH-E takes care of displaying messages itself (rather than
calling an MH program to do the work). If you’d rather have ‘mhl’
display the message (within MH-E), change the option
‘mh-mhl-format-file’ from its default value of ‘Use Default mhl Format
(Printing Only)’. You can set this option to ‘Use Default mhl Format’
to get the same output as you would get if you ran ‘mhl’ from the shell.
If you have a format file that you want MH-E to use, you can set this
option to ‘Specify an mhl Format File’ and enter the name of your format
file (‘mhl’(1) or section Using mhl
(http://rand-mh.sourceforge.net/book/mh/shomes.html#Usisho) in the MH
book tells you how to write one). Your format file should specify a
non-zero value for ‘overflowoffset’ to allow MH-E to parse the header.
Note that ‘mhl’ is always used for printing and forwarding; in this
case, the value of ‘mh-mhl-format-file’ is consulted if you have
specified a format file.
If the sender of the message has cited other messages in his message,
then MH-E will highlight these citations to emphasize the sender’s
actual response. The option ‘mh-highlight-citation-style’ can be
customized to change the highlighting style. The ‘Multicolor’ method
uses a different color for each indentation while the ‘Monotone’ method
highlights all citations in red. To disable highlighting of citations
entirely, choose ‘None’.
Email addresses and URLs in the message are highlighted if the option
‘goto-address-highlight-p’ is on, which it is by default. To view the
web page for a highlighted URL or to send a message using a highlighted
email address, use ‘mouse-2’ or ‘C-c <RET>’ (‘goto-address-at-point’).
Sending Mail, to see how to configure Emacs to send the message
using MH-E.
It is a long standing custom to inject body language using a
cornucopia of punctuation, also known as the “smileys”. MH-E can render
these as graphical widgets if the option ‘mh-graphical-smileys-flag’ is
turned on, which it is by default. Smileys include patterns such as :-)
and ;-). Similarly, a few typesetting features are indicated in ASCII
text with certain characters. If your terminal supports it, MH-E can
render these typesetting directives naturally if the option
‘mh-graphical-emphasis-flag’ is turned on, which it is by default. For
example, _underline_ will be underlined, *bold* will appear in bold,
/italics/ will appear in italics, and so on. See the option
‘gnus-emphasis-alist’ for the whole list. Both of these options are
disabled if the option ‘mh-decode-mime-flag’ is turned off.
Viewing Attachments.
MH-E normally renders signatures and vCards in italics so that the
body of the message stands out more. MH-E depends on the presence of
the “signature separator” (‘"-- "’) to do this. You can also customize
the face ‘mh-show-signature’ so the appearance of the signature block is
more to your liking.
Two hooks can be used to control how messages are displayed. The
first hook, ‘mh-show-mode-hook’, is called early on in the process of
the message display. It is usually used to perform some action on the
message’s content. The second hook, ‘mh-show-hook’, is the last thing
called after messages are displayed. It’s used to affect the behavior
of MH-E in general or when ‘mh-show-mode-hook’ is too early.
For those who like to modify their mode lines, use
‘mh-show-buffer-mode-line-buffer-id’ to modify the mode line in the
MH-Show buffers. Place the two escape strings ‘%s’ and ‘%d’, which will
display the folder name and the message number, respectively, somewhere
in the string in that order. The default value of ‘"{show-%s} %d"’
yields a mode line of
-----{show-+inbox} 4 (MH-Show)--Bot--------------------------------
---------- Footnotes ----------
(1) The ‘Face:’ field appeared in GNU Emacs 21 and XEmacs. For more
information, see <http://quimby.gnus.org/circus/face/>.
(2) The display of this field requires the ‘uncompface’ program
(ftp://ftp.cs.indiana.edu/pub/faces/compface/compface.tar.Z). Recent
versions of XEmacs have internal support for ‘X-Face:’ images. If your
version of XEmacs does not, then you’ll need both ‘uncompface’ and the
‘x-face’ package (ftp://ftp.jpl.org/pub/elisp/).
(3) The display of the images requires the ‘wget’ program
(http://www.gnu.org/software/wget/wget.html) to fetch the image and the
‘convert’ program from the ImageMagick suite
(http://www.imagemagick.org/script/index.php).