Faq MMM

How do I pronounce MMM ?

MMM should not be pronounced "three m", neither "m three", because both are already related to existing products. "m m m", although sweet, could induce some confusion. The official pronounciation is thus this (WAV) (or, in other audio formats AIFF, ULAW). However, in daily use, you might prefer just "meuh" in french, that is "m" followed by a long "E", as in "burn".

My "backspace" key doesn't work

If this is the case, then your "backspace" key is in fact a <Delete> key, or has been configured to behave as such (check that with xev). The obvious fix is to make your backspace key act as a real <BackSpace> key. If you don't want to change your key, then you'll have to use Control-h. Or you can edit a $HOME/.camltkrc file, in which you'll put:
bind Entry <Delete> [bind Entry <BackSpace>]
bind Text <Delete> [bind Text <BackSpace>]
Then quit and run MMM again.

How to I type international characters (יטא...)

International characters are supported by modern X11 servers through the Compose function. On XFree86 (Linux and BSD), the default binding uses the ScrollLock key. You can for example type
<ScrollLock> <'> <e> or <ScrollLock> <e> <'>
(that's three consecutive keypresses, unlike other modifiers such as Alt or Control) and it produces "י". It is possible to bind the compose function on another key, using xmodmap. For example, suppose that some unused key on your keyboard has keycode 116, then you would add
keycode 116 = Multi_key
in your xmodmap configuration file, or simply execute
$ xmodmap -e 'keycode 116 = Multi_key'
Use xev to determine free keys and their keycode.

Other X servers probably have similar features.

I don't see DVIs and PostScript

Check your ~/.mailcap file. The default mailcap of the metamail distribution is not convenient for Web browsing. A convenient .mailcap should contain something like:
application/postscript; ghostview %s
application/x-dvi; xdvi %s
# And if you are in fun mode, assuming these tools are installed
image/*; xv %s
video/mpeg; mpeg_play %s
video/*; xanim %s
# Etc...

I don't see compressed (.gz, .Z files)

MMM requires the existence of gunzip in your PATH.

Where is my hotlist ?

MMM has no predefined notion of hotlist, but supports external hotlist managers. When you click on the To Hotlist button, MMM invokes the hotlist manager as set in the Preferences. See the examples.

Why can't I read news with mmm ?

Use a real newsreader.

How do I connect MMM with my newsreader ?

For GNUS 5, add the following in your .emacs
; Connecting GNUS and MMM (copied on the Grail version)
(defun mmm:send-url-to-mmm (url)
  (message "Sending URL to MMM...")
  (save-excursion
    (set-buffer (get-buffer-create "*Shell Command Output*"))
    (erase-buffer)
    ;; don't worry about this failing...
    (call-process "mmm_remote" nil 0 nil url)
    (message "Sending URL to MMM... done")))

(setq gnus-button-url 'mmm:send-url-to-mmm)
Be sure to run mmm with the -external option. Clicking on an highlighted URL with mouse button 2 will open a new navigator window displaying the document at this URL.

Isn't MMM a memory pig ?

Hard to say. Caml has a garbage collector and many efforts have been made to remove space leaks due to global tables (such as callbacks or in-memory cache). Nevertheless, long sessions with image loading turned on tend to make the MMM process grow beyond reason (>15M). There is at least one possible explanation: since our HTML display machine is not that fast, MMM is keeping all history windows alive at the same time, so that back/forward is simply a matter of popping a window. With this behaviour, it means that Tk must have a lot of windows open at the same time, possibly with in-lined images; and this represents lots of memory. When the windows get killed, the memory is freed. But then, on old Unix systems, the size of the process never decreases.

Since version 0.40, you can set a limit to the number of windows kept in the widget cache, in order to limit the process size.

Why is table display so lousy ?

MMM does not perform any layout computation based on font sizes, margins, image sizes, etc... The HTML display machines only uses the highest-level features of Tk's Text widget. In some cases, this pushes Tk far beyond its limits. Moreover, many HTML documents are not well-formed, and the error recovery strategy can not be expected to read the page authors' mind.

Why is there only one tachymeter ?

It's simpler to manage for me.