emacs, dot-emacs: Support debian-changelog-mode after fast startup.
[profile] / vm
diff --git a/vm b/vm
index 66fc14b..fcd353d 100644 (file)
--- a/vm
+++ b/vm
@@ -2,30 +2,44 @@
 ;;;
 ;;; Configuration for VM
 
-(setq vm-reply-subject-prefix "Re: ")
-(setq vm-included-text-prefix "> ")
-(setq vm-included-text-attribution-format "%F <%f> wrote:\n\n")
-(setq vm-folder-directory "~/Mail/")
-(setq vm-startup-with-summary t)
-(setq vm-skip-deleted-messages nil)
-(setq vm-circular-folders nil)
-(setq vm-preview-lines nil)
-(setq vm-highlighted-header-regexp "^From\\|^Subject")
-(setq vm-delete-after-saving t)
-(setq vm-move-after-deleting t)
-(setq vm-delete-empty-folders)
-(setq vm-mime-qp-encoder-program "mimencode")
-(setq vm-mime-qp-encoder-switches '("-q"))
-(setq vm-mime-qp-decoder-program "mimencode")
-(setq vm-mime-qp-decoder-switches '("-q" "-u"))
-(setq vm-mime-base64-encoder-program "mimencode")
-(setq vm-mime-base64-encoder-switches '("-b"))
-(setq vm-mime-base64-decoder-program "mimencode")
-(setq vm-mime-base64-decoder-switches '("-b" "-u"))
+(let ((path exec-path))
+  (while path
+    (let ((try (expand-file-name "movemail" (car path))))
+      (if (file-executable-p try)
+         (setenv "REAL_MOVEMAIL" try))
+      (setq path (cdr path)))))
+
+(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"
@@ -45,8 +59,8 @@
        ("image/gif" "display")
        ("image/bmp" "display")
        ("image/tiff" "display")
-       ("application/postscript" "gv")
-       ("application/pdf" "gv")))
+       ("application/postscript" "evince")
+       ("application/pdf" "evince")))
 
 (setq vm-url-browser "firefox")
 
@@ -56,7 +70,8 @@
        (primary-summary ((width . 81) (height . 33)))))
 
 (setq vm-auto-folder-alist
-      '(("delivered-to" ("root@" . "admin"))))
+      '(("delivered-to" ("root@" . "admin"))
+       ("from" ("Cron Daemon" . "admin"))))
 
 (defun join-strings (del strings)
   (with-output-to-string
@@ -68,7 +83,7 @@
        (princ del)
        (princ (car strings))
        (setq strings (cdr strings))))))
-       
+
 (defun mdw-vm-fix-mailing-lists ()
   (save-restriction
     (save-excursion
                  (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)