## 19 Using the Mouse ¶

VM uses the following layout for the mouse buttons in the folder and summary buffers.

button-1 (left button usually)

  Unchanged.

button-2 (middle button usually)

  Activate. If you click on a summary entry, that message will be selected and become the current message. If you click on a highlighted URL in the body of a message, that URL will be sent to the browser specified by `vm-url-browser`.

button-3 (right button usually)

  Context Menu. If the mouse pointer is over the contents of the From header, button-3 pops up a menu of actions that can be taken using the author of the message as a parameter. For instance, you may want to create a virtual folder containing all the messages in the current folder written by this author. If the mouse pointer is over the contents of the Subject header, a menu of actions to be performed on the current message’s subject is produced. If button-3 is clicked over a highlighted URL, a menu of Web browsers is produced. Otherwise the normal VM mode specific menu is produced.

These button assignments work only in plain text messages. For HTML messages, you might use an internal web browser such as w3m to display the content, which will have its own button assignments. For instance, w3m binds button-2 to the browser function specified by the variable `w3m-goto-article-function`. You will need to set that variable to the desired browser function to get button-2 to work in HTML messages.

In mail composition buffers only mouse button-3 is affected. Context sensitive menus are produced when that button is clicked.

VM provides a number of browser functions that you can set as the value of `vm-url-browser`. An example is the function `vm-mouse-send-url-to-netscape`, which sends the URL at mouse to the Netscape browser. Other browsers supported in this way include `mosaic`, `mmosaic`, `opera`, `mozilla`, `firefox`, and `konqueror`, all of which have functions of the form `vm-mouse-send-url-to-xxx` and `vm-mouse-send-url-to-xxx-new-window`. You can also set `vm-url-browser` to the Emacs function `browse-url`, and use the facilities defined in the ‘`browse-url`’ library to send URL’s to external browsers.