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.
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:’ field13.
Next is the traditional ‘X-Face:’ header field14 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 present15. 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:
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.
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. See Inserting Your 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 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
). See 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. See 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 buffer. The second hook, mh-show-hook
, is the last
thing called after messages are displayed. It’s used to affect the
message’s content, 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--------------------------------
For more information, see https://quimby.gnus.org/circus/face/.
The
display of this field requires the
uncompface
program.
The display of the images
requires the wget
program to fetch the image and the convert
program from the ImageMagick suite.