-;;; -*-emacs-lisp-*-
-;;;
-;;; Configuration for VM
-
-(setq vm-reply-subject-prefix "Re: "
- vm-included-text-prefix "> "
- vm-included-text-attribution-format "%F <%f> wrote:\n\n"
- vm-folder-directory "~/Mail/"
- vm-startup-with-summary t
- vm-skip-deleted-messages nil
- vm-circular-folders nil
- vm-preview-lines nil
- vm-highlighted-header-regexp "^From\\|^Subject"
- vm-movemail-program "movemail-hack"
- vm-delete-after-saving t
- vm-move-after-deleting t
- vm-delete-empty-folders)
-
-(and (eq (terminal-coding-system) 'utf-8)
- (add-to-list 'vm-mime-default-face-charsets "utf-8"))
-
-(setq vm-mime-qp-encoder-program "mimencode"
- vm-mime-qp-encoder-switches '("-q")
- vm-mime-qp-decoder-program "mimencode"
- vm-mime-qp-decoder-switches '("-q" "-u")
- vm-mime-base64-encoder-program "mimencode"
- vm-mime-base64-encoder-switches '("-b")
- vm-mime-base64-decoder-program "mimencode"
- vm-mime-base64-decoder-switches '("-b" "-u"))
-
-(setq vm-visible-headers '("resent-from:" "from:" "reply-to:" "sender:"
- "to:" "apparently-to:" "cc:"
- "subject:" "date:"
- "delivered-to:" "return-path:"))
-
-(setq vm-reply-ignored-addresses '("mdw@excessus\\.demon\\.co\\.uk"
- "mdw@nsict\\.org" "mdw@eh\\.org"
- "mdw@ncipher\\.com"
- "mwooding@ncipher\\.com"
- "submit@bugs\\.ncipher\\.com"
- "mdw@chiark\\.greenend\\.org\\.uk"
- "mdw@distorted\\.org\\.uk"
- "mdw@metalzone\\.distorted\\.org\\.uk"
- "tux@nsict\\.org"))
-
-(defvar mdw-mailing-lists
- '("hibachi-dealers-members@chiark\\.greenend\\.org\\.uk"))
-
-(setq vm-mime-external-content-types-alist
- '(("image/jpeg" "display")
- ("image/jpg" "display")
- ("image/gif" "display")
- ("image/bmp" "display")
- ("image/tiff" "display")
- ("application/postscript" "evince")
- ("application/pdf" "evince")))
-
-(setq vm-url-browser "firefox")
-
-(setq vm-frame-parameter-alist
- '((folder ((width . 81) (height . 33)))
- (summary ((width . 81) (height . 33)))
- (primary-summary ((width . 81) (height . 33)))))
-
-(setq vm-auto-folder-alist
- '(("delivered-to" ("root@" . "admin"))
- ("from" ("Cron Daemon" . "admin"))))
-
-(defun join-strings (del strings)
- (with-output-to-string
- (if (null strings)
- nil
- (princ (car strings))
- (setq strings (cdr strings))
- (while strings
- (princ del)
- (princ (car strings))
- (setq strings (cdr strings))))))
-
-(defun mdw-vm-fix-mailing-lists ()
- (save-restriction
- (save-excursion
- (or (vm-mail-mode-get-header-contents "Resent-To:")
- (vm-mail-mode-get-header-contents "Resent-Cc:")
- (vm-mail-mode-get-header-contents "Resent-Bcc:")
- (let ((mailing-list-regex (concat "\\<\\("
- (join-strings "\\|"
- mdw-mailing-lists)
- "\\)\\>"))
- (to (vm-mail-mode-get-header-contents "To:"))
- (cc (vm-mail-mode-get-header-contents "Cc:")))
- (if (or (and to (string-match mailing-list-regex to))
- (and cc (string-match mailing-list-regex cc)))
- (let ((addrs (nconc (and to (vm-parse-addresses to))
- (and cc (vm-parse-addresses cc))))
- (new nil))
- (while addrs
- (if (string-match mailing-list-regex (car addrs))
- (setq new (cons (car addrs) new)))
- (setq addrs (cdr addrs)))
- (vm-mail-mode-remove-header "Cc:")
- (vm-mail-mode-remove-header "To:")
- (widen)
- (goto-char (point-min))
- (insert (format "To: %s\n" (join-strings ", " new))))))))))
-
-(add-hook 'vm-reply-hook 'mdw-vm-fix-mailing-lists)
-
-(defun mdw-mark-as-spam ()
- (interactive)
- (save-window-excursion
- (vm-pipe-message-to-command "userv spamd spam" 1))
- (vm-delete-message 1))
-(define-key vm-summary-mode-map "/" 'mdw-mark-as-spam)