chiark / gitweb /
vm: Cosmetic fixes.
[profile] / vm
CommitLineData
f617db13
MW
1;;; -*-emacs-lisp-*-
2;;;
3;;; Configuration for VM
4
5(setq vm-reply-subject-prefix "Re: ")
6(setq vm-included-text-prefix "> ")
7(setq vm-included-text-attribution-format "%F <%f> wrote:\n\n")
f617db13
MW
8(setq vm-folder-directory "~/Mail/")
9(setq vm-startup-with-summary t)
10(setq vm-skip-deleted-messages nil)
11(setq vm-circular-folders nil)
12(setq vm-preview-lines nil)
13(setq vm-highlighted-header-regexp "^From\\|^Subject")
14(setq vm-delete-after-saving t)
15(setq vm-move-after-deleting t)
16(setq vm-delete-empty-folders)
17(setq vm-mime-qp-encoder-program "mimencode")
18(setq vm-mime-qp-encoder-switches '("-q"))
19(setq vm-mime-qp-decoder-program "mimencode")
20(setq vm-mime-qp-decoder-switches '("-q" "-u"))
21(setq vm-mime-base64-encoder-program "mimencode")
22(setq vm-mime-base64-encoder-switches '("-b"))
23(setq vm-mime-base64-decoder-program "mimencode")
24(setq vm-mime-base64-decoder-switches '("-b" "-u"))
25(setq vm-visible-headers '("resent-from:" "from:" "reply-to:" "sender:"
26 "to:" "apparently-to:" "cc:"
27 "subject:" "date:"
28 "delivered-to:" "return-path:"))
29(setq vm-reply-ignored-addresses '("mdw@excessus\\.demon\\.co\\.uk"
30 "mdw@nsict\\.org" "mdw@eh\\.org"
31 "mdw@ncipher\\.com"
4b05ce02
MW
32 "mwooding@ncipher\\.com"
33 "submit@bugs\\.ncipher\\.com"
34 "mdw@chiark\\.greenend\\.org\\.uk"
f617db13
MW
35 "mdw@distorted\\.org\\.uk"
36 "mdw@metalzone\\.distorted\\.org\\.uk"
f617db13
MW
37 "tux@nsict\\.org"))
38
39(defvar mdw-mailing-lists
40 '("hibachi-dealers-members@chiark\\.greenend\\.org\\.uk"))
41
42(setq vm-mime-external-content-types-alist
4b05ce02
MW
43 '(("image/jpeg" "display")
44 ("image/jpg" "display")
45 ("image/gif" "display")
e4a505a0 46 ("image/bmp" "display")
4b05ce02
MW
47 ("image/tiff" "display")
48 ("application/postscript" "gv")
49 ("application/pdf" "gv")))
f617db13 50
4b05ce02 51(setq vm-url-browser "firefox")
f617db13
MW
52
53(setq vm-frame-parameter-alist
4b05ce02
MW
54 '((folder ((width . 81) (height . 33)))
55 (summary ((width . 81) (height . 33)))
e4a505a0 56 (primary-summary ((width . 81) (height . 33)))))
f617db13
MW
57
58(setq vm-auto-folder-alist
59 '(("delivered-to" ("root@" . "admin"))))
60
f617db13
MW
61(defun join-strings (del strings)
62 (with-output-to-string
63 (if (null strings)
64 nil
65 (princ (car strings))
66 (setq strings (cdr strings))
67 (while strings
68 (princ del)
69 (princ (car strings))
70 (setq strings (cdr strings))))))
71
72(defun mdw-vm-fix-mailing-lists ()
73 (save-restriction
74 (save-excursion
75 (or (vm-mail-mode-get-header-contents "Resent-To:")
76 (vm-mail-mode-get-header-contents "Resent-Cc:")
77 (vm-mail-mode-get-header-contents "Resent-Bcc:")
78 (let ((mailing-list-regex (concat "\\<\\("
79 (join-strings "\\|"
80 mdw-mailing-lists)
81 "\\)\\>"))
82 (to (vm-mail-mode-get-header-contents "To:"))
83 (cc (vm-mail-mode-get-header-contents "Cc:")))
84 (if (or (and to (string-match mailing-list-regex to))
85 (and cc (string-match mailing-list-regex cc)))
86 (let ((addrs (nconc (and to (vm-parse-addresses to))
87 (and cc (vm-parse-addresses cc))))
88 (new nil))
89 (while addrs
90 (if (string-match mailing-list-regex (car addrs))
91 (setq new (cons (car addrs) new)))
92 (setq addrs (cdr addrs)))
93 (vm-mail-mode-remove-header "Cc:")
94 (vm-mail-mode-remove-header "To:")
95 (widen)
96 (goto-char (point-min))
97 (insert (format "To: %s\n" (join-strings ", " new))))))))))
98
99(add-hook 'vm-reply-hook 'mdw-vm-fix-mailing-lists)