bad17f41a956faaa053da639d13ef6e4cb2174b7
[elisp/wanderlust.git] / samples / en / dot.wl
1 ;;; dot.wl -- sample setting file for Wanderlust        -*- emacs-lisp -*-
2
3 ;; [[ Requirement Setting ]]
4
5 ;; Following must be included in ~/.emacs
6 ;; for .emacs begin
7 (require 'mime-setup)
8 (autoload 'wl "wl" "Wanderlust" t)
9 (autoload 'wl-draft "wl-draft" "Write draft with Wanderlust." t)
10 ;; for .emacs end
11
12 ;; Icon directory (XEmacs and Emacs21 only)
13 ;; (No need if installed as XEmacs package.)
14 ;(setq wl-icon-dir "/usr/local/lib/emacs/etc")
15
16
17 ;;; [[ Private Setting ]]
18
19 ;; Header From:
20 ;(setq wl-from "Your Name <e-mail@example.com>")
21
22 ;; User's mail addresses.
23 (setq wl-user-mail-address-list
24       (list (wl-address-header-extract-address wl-from)
25             ;; "e-mail2@example.com"
26             ;; "e-mail3@example.net" ...
27             ))
28
29 ;; Subscribed mailing list.
30 (setq wl-subscribed-mailing-list
31       '("wl@lists.airs.net"
32         "apel-ja@m17n.org"
33         ;;"ml@example.com" ...
34         ))
35
36
37 ;;; [[ Server Setting ]]
38
39 ;; Default IMAP4 server
40 (setq elmo-default-imap4-server "localhost")
41 ;; Default POP server
42 (setq elmo-default-pop3-server "localhost")
43 ;; SMTP server
44 (setq wl-smtp-posting-server "localhost")
45 ;; Default NNTP server
46 (setq elmo-default-nntp-server "localhost")
47 ;; NNTP server name for posting
48 (setq wl-nntp-posting-server elmo-default-nntp-server)
49
50 ;; If (system-name) does not return FQDN,
51 ;; set following as a local domain name without hostname.
52 ;; ((system-name) "." wl-local-domain is used as domain part of Message-ID
53 ;; and an argument of HELO in SMTP.
54 ;(setq wl-local-domain "example.com")
55
56 ;; Specific domain part for message-id.
57 ;(setq wl-message-id-domain "hostname.example.com")
58
59 ;; IMAP authenticate type setting
60 (setq elmo-default-imap4-authenticate-type 'clear) ; raw
61 ;(setq elmo-default-imap4-authenticate-type 'cram-md5) ; CRAM-MD5
62
63 ;; POP-before-SMTP
64 ;(setq wl-draft-send-mail-func 'wl-draft-send-mail-with-pop-before-smtp)
65
66
67 ;;; [[ Basic Setting ]]
68
69 ;; Default folder for `wl-summary-goto-folder'.
70 ;(setq wl-default-folder "+inbox")
71
72 ;; Default string for folder name completion.
73 ;(setq wl-default-spec "+")
74
75 ;; Folder Carbon Copy
76 ;(setq wl-fcc "+outbox")
77
78 ;; Confirm at exit time.
79 (setq wl-interactive-exit t)
80
81 ;; Confirm at message sending time.
82 (setq wl-interactive-send t)
83
84 ;; Create opened thread.
85 ;(setq wl-thread-insert-opened t)
86
87 ;; folder mode and summary mode is displayed at the same time. (3pane)
88 ;(setq wl-stay-folder-window t)
89
90 ;; Open new frame for draft buffer.
91 ;(setq wl-draft-use-frame t)
92
93 ;; Disable inline display HTML part.
94 ;(setq mime-setup-enable-inline-html nil)
95
96 ;; Don't split large message.
97 ;(setq mime-edit-split-message nil)
98
99 ;; Thread divide when change subject.
100 ;(setq wl-summary-divide-thread-when-subject-changed t)
101
102 ;; Thread view
103 ;(setq wl-thread-have-younger-brother-str "+"
104 ;      wl-thread-youngest-child-str      "+"
105 ;      wl-thread-vertical-str            "|"
106 ;      wl-thread-horizontal-str          "-"
107 ;      wl-thread-space-str               " ")
108
109 ;; display first message automatically.
110 ;(setq wl-auto-select-first t)
111
112 ;; goto next folder when exit from summary.
113 ;(setq wl-auto-select-next t)
114
115 ;; folder is skipped if there is no unread.
116 ;(setq wl-summary-next-no-unread 'skip-no-unread)
117
118 ;; jump to unread message in 'N' or 'P'.
119 ;(setq wl-summary-move-order 'unread)
120
121
122 ;;; [[ Network ]]
123
124 ;; cache setting.
125 ;; (messages in localdir, localnews, maildir are not cached.)
126 ;(setq elmo-archive-use-cache nil)
127 ;(setq elmo-nntp-use-cache t)
128 ;(setq elmo-imap4-use-cache t)
129 ;(setq elmo-pop3-use-cache t)
130
131 ;; Enable disconnected operation in IMAP folder.
132 ;(setq elmo-enable-disconnected-operation t)
133
134 ;; Store draft message in queue folder if message is sent in unplugged status.
135 (setq wl-draft-enable-queuing t)
136 ;; when plug status is changed from unplugged to plugged,
137 ;; queued message is flushed automatically.
138 (setq wl-auto-flush-queue t)
139
140 ;; offline at startup.
141 ;(setq wl-plugged nil)
142 ;; change plug status by server or port at startup.
143 ;(add-hook 'wl-make-plugged-hook
144 ;         '(lambda ()
145 ;            (elmo-set-plugged plugged(t/nil) server port)
146 ;            (elmo-set-plugged plugged(t/nil) server)
147 ;            ))
148
149
150 ;;; [[ Special Setting ]]
151
152 ;; open unread group folder after checking.
153 ;(add-hook 'wl-folder-check-entity-hook
154 ;         '(lambda ()
155 ;            (wl-folder-open-unread-folder entity)
156 ;            ))
157
158 ;; Change summary display function.
159
160 ;; get extra field values as overview information (only localdir folder).
161 (setq elmo-msgdb-extra-fields '("newsgroups"
162                                 "x-ml-name" "list-id"
163                                 "x-mail-count" "x-ml-count" "x-sequence"
164                                 "mailing-list"))
165
166 ;; ML message displays ML name and ML sequence number in subject.
167 (setq wl-summary-subject-func 'my-wl-summary-subject-func-ml)
168 (defun my-wl-summary-subject-func-ml (subject-string)
169   (let ((folder wl-summary-buffer-folder-name)
170         (subj subject-string) (sequence) (ml-name) (ml-count))
171     (setq sequence (elmo-msgdb-overview-entity-get-extra-field
172                     entity "x-sequence")
173           ml-name (or (elmo-msgdb-overview-entity-get-extra-field
174                        entity "x-ml-name")
175                       (and sequence
176                            (car (split-string sequence " "))))
177           ml-count (or (elmo-msgdb-overview-entity-get-extra-field
178                         entity "x-mail-count")
179                        (elmo-msgdb-overview-entity-get-extra-field
180                         entity "x-ml-count")
181                        (and sequence
182                             (cadr (split-string sequence " ")))))
183     (if (string-match
184 ;;;      "^\\s(\\(.+\\)[ :]\\([0-9]+\\)\\s)[ \t]*"
185          "^\\s(\\(\\S)+\\)[ :]\\([0-9]+\\)\\s)[ \t]*"
186          subject-string)
187         (progn
188           (setq subj (substring subject-string (match-end 0)))
189           (if (not ml-name) (setq ml-name (match-string 1 subject-string)))
190           (if (not ml-count) (setq ml-count (match-string 2 subject-string)))))
191     (if (and ml-name ml-count)
192         (if (string= folder wl-default-folder)
193             (format "(%s %05d) %s"
194                     (car (split-string ml-name " "))
195                     (string-to-int ml-count)
196                     subj)
197           (format "#%05d %s"
198                   (string-to-int ml-count) subj))
199       subj)))
200
201 ;; imput asynchronously.
202 ;; (utils/im-wl.el is needed to be installed.
203 ;;  Don't forget setting ~/.im/Config (Smtpservers).
204 ;;  note that wl-draft-enable-queuing is not valid.)
205 ;(autoload 'wl-draft-send-with-imput-async "im-wl")
206 ;(setq wl-draft-send-func 'wl-draft-send-with-imput-async)
207
208
209 ;; non-verbose User-Agent: field
210 ;(setq wl-generate-mailer-string-func
211 ;      (function
212 ;       (lambda ()
213 ;        (wl-generate-user-agent-string-1 nil))))
214
215
216 ;;; [[ Template ]]
217
218 ;; template
219 (setq wl-template-alist
220       '(("default"
221          ("From" . wl-from)
222          ("Organization" . "~/.wl sample")
223          (body . "Hello, this is XXX \n"))              ;; body
224         ("report"
225          ("To" . "boss@example.com")
226          ("Subject" . "Report")
227          (top . "Sir, here is my report\n")             ;; insert in top.
228 ;;       (bottom-file . "~/work/report.txt")    ;; insert file in bottom
229          )
230         ))
231 ;; Change headers in draft sending time.
232 (setq wl-draft-config-alist
233       '((reply          ;; see reply buffer
234          "^To: .*\\(test-notsend-wl@lists.airs.net\\)"
235          (template . "default"))                ;; template
236         ("^To: .*\\(test-notsend-wl@lists.airs.net\\)"
237          wl-ml-draft-config-func                ;; function
238          ("From" . wl-from)                     ;; variable
239          ("Organization" . "~/.wl sample"))     ;; string
240         ("^Newsgroups: test.*"
241          ("Organization" . "organization for nntp."))
242         ))
243
244 ;; Change headers in draft preparation time.
245 ;(add-hook 'wl-mail-setup-hook
246 ;         '(lambda ()
247 ;            (unless wl-draft-reedit;   ; don't apply when reedit.
248 ;              (wl-draft-config-exec wl-draft-config-alist))))
249
250
251 ;; [[ Reply ]]
252 ;; header value setting for mail reply.
253
254 ;; Wide window for draft buffer.
255 ;(setq wl-draft-reply-buffer-style 'full)
256
257 ;; Remove fullname in reply message header.
258 ;(setq wl-draft-reply-use-address-with-full-name nil)
259
260 ;; "a" (without-argument) reply to author (Reply-To or From).
261 ;; if 'X-ML-Name' and 'Reply-To' exists, reply to 'Reply-To'.
262 (setq wl-draft-reply-without-argument-list
263       '((("X-ML-Name" "Reply-To") . (("Reply-To") nil nil))
264         ("X-ML-Name" . (("To" "Cc") nil nil))
265         ("Followup-To" . (nil nil ("Followup-To")))
266         ("Newsgroups" . (nil nil ("Newsgroups")))
267         ("Reply-To" . (("Reply-To") nil nil))
268         ("Mail-Reply-To" . (("Mail-Reply-To") nil nil))
269         ("From" . (("From") nil nil))))
270
271 ;; "C-u a" (with-argument) reply to all.
272 (setq wl-draft-reply-with-argument-list
273       '(("Followup-To" . (("From") nil ("Followup-To")))
274         ("Newsgroups" . (("From") nil ("Newsgroups")))
275         ("Mail-Followup-To" . (("Mail-Followup-To") nil ("Newsgroups")))
276         ("From" . (("From") ("To" "Cc") ("Newsgroups")))))
277
278
279 ;; X-Face (requires x-face (and x-face-mule))
280 (when (and window-system
281            (module-installed-p 'x-face))
282   (cond (wl-on-xemacs                   ;; for XEmacs
283          (autoload 'x-face-xmas-wl-display-x-face "x-face" nil t)
284          (setq wl-highlight-x-face-func
285                'x-face-xmas-wl-display-x-face))
286         ;; for Mule (GNU Emacs)
287         ((module-installed-p 'x-face-mule)
288          ;; x-face-mule 0.20\e$B0J8e\e(B
289          (setq wl-highlight-x-face-func
290                (function
291                 (lambda (&rest dummy)
292                   (x-face-decode-message-header))))
293          (require 'x-face-mule)
294          )))
295
296 ;; rule for auto refile.
297 ;(setq wl-refile-rule-alist
298 ;      '(
299 ;       ("x-ml-name"
300 ;        ("^Wanderlust" . "+wl")
301 ;        ("^Elisp" . "+elisp"))
302 ;       ("From"
303 ;        ("teranisi@isl.ntt.co.jp" . "+teranisi"))))
304
305 ;; Marks to skip auto-refile (default is "N" "U" "!").
306 ;; nil means all message is auto-refiled.
307 ;(setq wl-summary-auto-refile-skip-marks nil)
308
309 ;; Scoring.
310 ;; "all.SCORE" file is used regardless of wl-score-folder-alist.
311 ;(setq wl-score-folder-alist
312 ;      '(("^-comp\\."
313 ;        "news.comp.SCORE"
314 ;        "news.SCORE")
315 ;       ("^-"
316 ;        "news.SCORE")))
317
318 ;; directory for storing score files.
319 ; (setq wl-score-files-directory "~/.elmo/")
320
321 ;;; dot.wl ends here