## 16 Toolbar ¶

VM can display a toolbar that allows you to run VM commands with a single mouse click. By default the toolbar is displayed on the left of the Emacs frame and is only visible if you’re running under a window system like X Windows or Microsoft Windows.

To make VM not display the toolbar, set `vm-use-toolbar` to nil. To configure what buttons are displayed on the toolbar, you must change the value of `vm-use-toolbar`. If non-`nil`, the value of `vm-use-toolbar` should be a list of symbols and integers, which specify which buttons appear on the toolbar and the layout of the buttons. These are the allowed symbols along with the buttons they represent.

`autofile`

  The AutoFile button. Clicking on this button runs the command `vm-toolbar-autofile-message`. This command will save the current message into the folder matched by `vm-auto-folder-alist`, if there is a match.

`compose`

  The Compose button. Clicking on this button runs the command `vm-toolbar-compose-command`. This command is normally just an alias for the `vm-mail` command. If you want the Compose button to do something else, redefine `vm-toolbar-compose-command` using either `fset` or `defun`.

`delete/undelete`

  The Delete/Undelete button. If the current message is marked for deletion, this button displays as an Undelete button. Otherwise it displays as a Delete button.

`file`

  The File button. Clicking on this button runs the command `vm-toolbar-file-command`. This command is normally just an alias for the `vm-mail` command. If you want the File button to do something else, redefine `vm-toolbar-file-command` using either `fset` or `defun`.

`getmail`

  The Get Mail button. Clicking on this button runs the command `vm-toolbar-getmail-command`. This command is normally just an alias for the `vm-get-new-mail` command. If you want the Get Mail button to do something else, redefine `vm-toolbar-getmail-command` using either `fset` or `defun`.

`help`

  The Helper button. Clicking on this button runs the command `vm-toolbar-helper-command`. This command normally just runs `vm-help`, but it also does context specific things under certain conditions. If the current message is a MIME message that needs decoding, the Helper button becomes the Decode MIME button. If the current folder has an auto-save file that appears to be the result of an Emacs or system crash, the Helper button becomes the Recover button. Clicking on the Recover button runs `vm-recover-folder`, so you can recover your folder from an existing auto-save file.

`mime`

  The Decode MIME button. Clicking on this button runs the command `vm-toolbar-mime-command`. This command is normally just an alias for the `vm-decode-mime-message` command.

`next`

  The Next button. Clicking on this button runs the command `vm-toolbar-next-command`. This command is normally just an alias for the `vm-next-message` command. If you want the Next button to do something else, redefine `vm-toolbar-next-command` using either `fset` or `defun`.

`previous`

  The Previous button. Clicking on this button runs the command `vm-toolbar-previous-command`. This command is normally just an alias for the `vm-previous-message` command. If you want the Previous button to do something else, redefine `vm-toolbar-previous-command` using either `fset` or `defun`.

`print`

  The Print button. Clicking on this button runs the command `vm-toolbar-print-command`. This command is normally just an alias for the `vm-print-message` command. If you want the Print button to do something else, redefine `vm-toolbar-print-command` using either `fset` or `defun`.

`quit`

  The Quit button. Clicking on this button runs the command `vm-toolbar-quit-command`. This command is normally just an alias for the `vm-quit` command. If you want the Quit button to do something else, redefine `vm-toolbar-quit-command` using either `fset` or `defun`.

`reply`

  The Reply button. Clicking on this button runs the command `vm-toolbar-reply-command`. This command is normally just an alias for the `vm-reply-include-text` command. If you want the Reply button to do something else, redefine `vm-toolbar-reply-command` using either `fset` or `defun`.

`visit`

  The Visit button. Clicking on this button runs the command `vm-toolbar-visit-command`. This command is normally just an alias for the `vm-visit-folder` command. If you want the Visit button to do something else, redefine `vm-toolbar-visit-command` using either `fset` or `defun`.

`nil`

  If nil appears in the list, it must appear exactly once. The buttons associated with symbols that appear after nil in the list will be display flushright for top and bottom toolbars, and flushbottom for left and right toolbars.

If an positive integer appears in the the `vm-use-toolbar` list, it specifies the number of pixels of blank space to display between the button that comes before and the button that comes after the integer.

The variable `vm-toolbar-orientation` controls on which side of the frame the toolbar is displayed. E.g.

    (setq vm-toolbar-orientation 'top)

causes the toolbar to be displayed at the top of the frame. The `top` in the example can be replaced with `bottom`, `right` and `left` to make the toolbar appear in those places instead.

VM finds the images for the toolbar in the directory specified by `vm-toolbar-pixmap-directory`. This variable should already be set properly by whoever installed VM on your system, so you should not need to set it.