|
1 (setq mm-coding-system-priorities |
|
2 '(iso-latin-1 iso-latin-9)) |
|
3 |
|
4 (defun local-nnmail-match-expiry (newsgroup) |
|
5 "Return default expiry for different newsgroup." |
|
6 (cond ((string-match "archives" newsgroup) 'never) |
|
7 ((string-match "sentmail" newsgroup) 'never) |
|
8 ((string-match "postponed" newsgroup) 'never) |
|
9 ((string-match "debian" newsgroup) 7) |
|
10 ((string-match "jabber" newsgroup) 7) |
|
11 ((string-match "gnucash" newsgroup) 7) |
|
12 ((string-match "egroups" newsgroup) 7) |
|
13 ((string-match "emacs.ding" newsgroup) 7) |
|
14 ((string-match "spam" newsgroup) 1) |
|
15 (t 31))) |
|
16 |
|
17 (defvar local-signature-alist nil) |
|
18 (setq local-signature-alist |
|
19 '(("default" . (("name" . "Fabien Niñoles") |
|
20 ("title" . "") |
|
21 ("email" . "fabien@tzone.org") |
|
22 ("web" . "http://www.tzone.org") |
|
23 ("key" . "C15D FE9E BB35 F596 127F BF7D 8F1F DFC9 BCE0 9436"))) |
|
24 ("debian" . (("email" . "fabien@debian.org") |
|
25 ("web" . "http://www.debian.org") |
|
26 ("title" . "Debian Maintainer"))) |
|
27 ("clef" . (("email" . "veneur@tzone.org") |
|
28 ("web" . "http://harmonies.tzone.org") |
|
29 ("title" . "Chevalier de la Loge des Terres de l'Aube") |
|
30 ("name" . "Le Veneur Gris"))) |
|
31 ("hdf" . (("email" . "veneur@tzone.org") |
|
32 ("web" . "http://harmonies.tzone.org") |
|
33 ("title" . "Chevalier Servant de Sa Dame") |
|
34 ("name" . "Le Veneur Gris"))) |
|
35 ("nephilim" . (("email" . "coeurdelune@nephilim-rpg.com") |
|
36 ("name" . "Coeur de Lune") |
|
37 ("title" . "Zéphir orphelin") |
|
38 ("web" . "http://harmonies.tzone.org"))) |
|
39 ("ids" . (("name" . "Goudron Sauvage") |
|
40 ("title" . "Valier Vampire Décalé Rêvolutionnaire") |
|
41 ("email" . "veneur@tzone.org") |
|
42 ("web" . "http://cruche.valiere.free.fr"))) |
|
43 ("rdd" . (("name" . "Baffouille") |
|
44 ("title" . "Enrêveur et Archimage") |
|
45 ("email" . "veneur@tzone.org") |
|
46 ("web" . "http://harmonies.tzone.org"))) |
|
47 ("jdr" . (("title" . "Arpèges, le jeu des Harmonies") |
|
48 ("web" . "http://harmonies.tzone.org"))) |
|
49 ("baff" . (("name" . "Baffouille") |
|
50 ("title" . "Enrêveur et Archimage"))))) |
|
51 |
|
52 (defun local-gen-sign (type) |
|
53 "Generate a signature." |
|
54 (let |
|
55 ((default-keys |
|
56 (copy-alist |
|
57 (cdr (assoc "default" local-signature-alist)))) |
|
58 (selected-keys |
|
59 (cdr (assoc type local-signature-alist)))) |
|
60 (dolist (pair selected-keys default-keys) |
|
61 (setcdr (assoc (car pair) default-keys) |
|
62 (cdr pair))) |
|
63 (let* |
|
64 ((GPG-title "GPG KeyID:") |
|
65 (name (cdr (assoc "name" default-keys))) |
|
66 (title (cdr (assoc "title" default-keys))) |
|
67 (email (cdr (assoc "email" default-keys))) |
|
68 (web (cdr (assoc "web" default-keys))) |
|
69 (key (cdr (assoc "key" default-keys))) |
|
70 (maxlenght |
|
71 (max (+ 2 (string-width name) (string-width title)) |
|
72 (+ 2 (string-width email) (string-width web)) |
|
73 (+ 1 (string-width GPG-title) (string-width key))))) |
|
74 (concat name |
|
75 (make-string (- maxlenght (string-width name) (string-width title)) ? ) |
|
76 title |
|
77 "\n" |
|
78 email |
|
79 (make-string (- maxlenght (string-width email) (string-width web)) ? ) |
|
80 web |
|
81 "\n" |
|
82 GPG-title |
|
83 (make-string (- maxlenght (string-width GPG-title) (string-width key)) ? ) |
|
84 key |
|
85 "\n")))) |
|
86 |
|
87 (defvar local-last-sig nil) |
|
88 (defun local-insert-signature (type) |
|
89 "Insert a signature." |
|
90 (interactive (list |
|
91 (completing-read "Which signature: " |
|
92 local-signature-alist |
|
93 nil |
|
94 nil |
|
95 nil |
|
96 nil |
|
97 (or local-last-sig "default")))) |
|
98 (setq local-last-sig type) |
|
99 (save-excursion |
|
100 (goto-char (point-max)) |
|
101 (let ((beg-sign |
|
102 (re-search-backward message-signature-separator nil t))) |
|
103 (if beg-sign |
|
104 (kill-region |
|
105 beg-sign (point-max)))) |
|
106 (goto-char (point-max)) |
|
107 (unless (bolp) |
|
108 (insert "\n")) |
|
109 (insert "-- \n") |
|
110 (insert (local-gen-sign type)))) |
|
111 |
|
112 (defun local-alter-message-map () |
|
113 (local-set-key "\C-c\C-w" 'local-insert-signature)) |
|
114 |
|
115 (defun local-outgoing-message-group () |
|
116 "Return the sentmail group." |
|
117 (concat "mail/sentmail-archives/" |
|
118 (format-time-string "%Y.%m"))) |
|
119 |
|
120 (setq gnus-outgoing-message-group |
|
121 'local-outgoing-message-group) |
|
122 |
|
123 (provide 'local-gnus) |