1;;; wl-vars.el --- Variable definitions for Wanderlust. -*- lexical-binding: t -*- 2 3;; Copyright (C) 1998,1999,2000,2001 Yuuichi Teranishi <teranisi@gohome.org> 4;; Copyright (C) 1998,1999,2000,2001 Masahiro MURATA <muse@ba2.so-net.ne.jp> 5 6;; Author: Yuuichi Teranishi <teranisi@gohome.org> 7;; Masahiro MURATA <muse@ba2.so-net.ne.jp> 8;; Keywords: mail, net news 9 10;; This file is part of Wanderlust (Yet Another Message Interface on Emacsen). 11 12;; This program is free software; you can redistribute it and/or modify 13;; it under the terms of the GNU General Public License as published by 14;; the Free Software Foundation; either version 2, or (at your option) 15;; any later version. 16;; 17;; This program is distributed in the hope that it will be useful, 18;; but WITHOUT ANY WARRANTY; without even the implied warranty of 19;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20;; GNU General Public License for more details. 21;; 22;; You should have received a copy of the GNU General Public License 23;; along with GNU Emacs; see the file COPYING. If not, write to the 24;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, 25;; Boston, MA 02111-1307, USA. 26;; 27 28;;; Commentary: 29;; 30 31;;; Code: 32;; 33 34(require 'elmo-vars) 35(require 'elmo-util) 36(require 'elmo-msgdb) 37 38;;; Customizable Variables 39 40(defgroup wl nil 41 "Wanderlust, a news and mail reading software." 42 :tag "Wanderlust" 43 :link `(custom-manual 44 ,(if (string-equal "Japanese" 45 (symbol-value 'current-language-environment)) 46 "(wl-ja)Top" 47 "(wl)Top")) 48 :group 'news 49 :group 'mail) 50 51(defgroup wl-pref nil 52 "Wanderlust, Preferences." 53 :prefix "wl-" 54 :group 'wl) 55 56(defgroup wl-folder nil 57 "Wanderlust, folder buffer." 58 :prefix "wl-" 59 :group 'wl) 60 61(defgroup wl-summary nil 62 "Wanderlust, summary buffer." 63 :prefix "wl-" 64 :group 'wl) 65 66(defgroup wl-summary-marks nil 67 "Wanderlust, marks used in summary buffers." 68 :prefix "wl-summary-" 69 :group 'wl-summary) 70 71(defgroup wl-expire nil 72 "Wanderlust, Expiring and archiving." 73 :prefix "wl-" 74 :group 'wl) 75 76(defgroup wl-score nil 77 "Wanderlust, Score file handling." 78 :prefix "wl-" 79 :group 'wl) 80 81(defgroup wl-highlight nil 82 "Wanderlust, Highlights." 83 :prefix "wl-" 84 :group 'wl) 85 86(defgroup wl-draft nil 87 "Wanderlust, draft mode." 88 :prefix "wl-" 89 :group 'wl) 90 91(defgroup wl-setting nil 92 "Wanderlust common settings." 93 :prefix "wl-" 94 :group 'wl) 95 96;;; Emacsen 97(defconst wl-on-xemacs nil) 98 99(defconst wl-on-emacs21 t) 100 101(defconst wl-on-mule t) 102 103(defconst wl-on-mule3 t) 104 105(defconst wl-on-nemacs nil) ; backward compatibility. 106 107(defcustom wl-from (when user-mail-address 108 (let ((name (user-full-name))) 109 (concat (unless (member name '("" "unknown")) 110 (concat (elmo-address-quote-specials name) 111 " ")) 112 "<" user-mail-address ">"))) 113 "*From string used in draft." 114 :type '(choice string 115 (const :tag "Don't choice this!!" nil)) 116 :group 'wl 117 :group 'wl-setting) 118 119(defcustom wl-user-mail-address-list nil 120 "*A list of user's mail addresses. 121This list is used to judge whether an address is user's or not. 122You should set this variable if you use multiple e-mail addresses. 123If you don't have multiple e-mail addresses, you don't have to set this. 124NOTE: Non-nil value of `wl-user-mail-address-regexp' supersede this." 125 :type '(repeat string) 126 :group 'wl 127 :group 'wl-setting) 128 129(defcustom wl-user-mail-address-regexp nil 130 "*A regexp for user's mail addresses. 131Supersede `wl-user-mail-address-list'." 132 :type '(choice (const :tag "Use wl-user-mail-address-list" nil) 133 string) 134 :group 'wl 135 :group 'wl-setting) 136 137(defcustom wl-organization (getenv "ORGANIZATION") 138 "Organization name." 139 :type '(choice (const :tag "none" nil) 140 string) 141 :group 'wl 142 :group 'wl-setting) 143 144(defcustom wl-temporary-file-directory "~/tmp/" 145 "*Default temporary directory to save message, part." 146 :type 'directory 147 :group 'wl) 148 149(defcustom wl-icon-directory 150 (or (let ((icons (expand-file-name "wl/icons/" 151 data-directory))) 152 (if (file-directory-p icons) 153 icons)) 154 (if load-file-name 155 (let ((icons (expand-file-name 156 "icons" 157 (file-name-directory load-file-name)))) 158 (if (file-directory-p icons) 159 icons)))) 160 "*Directory to load the icon files from, or nil if none." 161 :type '(choice (const :tag "none" nil) 162 string) 163 :group 'wl) 164 165(defcustom wl-summary-default-view 'thread 166 "Default status of summary view, thread or sequential view." 167 :type '(choice (const :tag "Thread" thread) 168 (const :tag "Sequential" sequence)) 169 :group 'wl-summary) 170 171(defcustom wl-summary-default-view-alist nil 172 "An alist of regexp for folder name and summary default view. 173If no match, `wl-summary-default-view' is used." 174 :type '(repeat (cons (regexp :tag "Folder Regexp") 175 (choice (const :tag "Thread" thread) 176 (const :tag "Sequential" sequence)))) 177 :group 'wl-summary) 178 179(defcustom wl-summary-order 'ascending 180 "Specify order of messages in summary buffer. 181Note that messages in a thread are always listed in ascending order 182even if this value is descending." 183 :type '(choice (const :tag "Ascending order" ascending) 184 (const :tag "Descending order" descending)) 185 :group 'wl-summary) 186 187(defvar wl-summary-mode-line-format-spec-alist 188 '((?f (if (memq 'modeline wl-use-folder-petname) 189 (wl-folder-get-petname (elmo-folder-name-internal 190 wl-summary-buffer-elmo-folder)) 191 (elmo-folder-name-internal wl-summary-buffer-elmo-folder))) 192 (?t (if (eq wl-summary-buffer-view 'thread) "T" "S")) 193 (?m (upcase (symbol-name wl-summary-buffer-display-mime-mode))) 194 (?n wl-summary-buffer-new-count) 195 (?u wl-summary-buffer-unread-count) 196 (?a (length wl-summary-buffer-number-list))) 197 "An alist of format specifications that can appear in summary mode-lines. 198Each element is a list of following: 199\(SPEC STRING-EXP) 200SPEC is a character for format specification. 201STRING-EXP is an expression to get string to insert.") 202 203(defcustom wl-summary-mode-line-format "Wanderlust: %f {%t}(%n/%u/%a)" 204 "*A format string for summary mode-line of Wanderlust. 205It may include any of the following format specifications 206which are replaced by the given information: 207 208%f The folder name. 209%t The thread status of the summary ('T' for thread, 'S' for sequential). 210%m The mime analysis status of the summary ('MIME' for MIME ON) 211%n The number of new messages. 212%u The number of unread messages (includes new messages). 213%a The number of all messages." 214 :group 'wl-summary 215 :type 'string) 216 217(defvar wl-summary-line-format-spec-alist 218 '((?Y (wl-summary-line-year)) 219 (?M (wl-summary-line-month)) 220 (?D (wl-summary-line-day)) 221 (?W (wl-summary-line-day-of-week)) 222 (?h (wl-summary-line-hour)) 223 (?m (wl-summary-line-minute)) 224 (?\[ (if wl-thr-linked "<" "[")) 225 (?\] (if wl-thr-linked ">" "]")) 226 (?t (or wl-thr-indent-string "")) 227 (?s (wl-summary-line-subject)) 228 (?S (wl-summary-line-size)) 229 (?C (if wl-thr-children-number 230 (concat "[+" (number-to-string wl-thr-children-number) "] ") 231 (if wl-parent-message-entity 232 (if wl-thr-linked ">>" ">") 233 ""))) 234 (?~ (if (zerop (length wl-line-string)) "" " ")) 235 (?c (if wl-thr-children-number 236 (concat "+" (number-to-string wl-thr-children-number) ":") 237 "")) 238 (?f (wl-summary-line-from)) 239 (?# (wl-summary-line-list-info)) 240 (?l (wl-summary-line-list-count)) 241 (?T (or wl-temp-mark " ")) 242 (?P (or wl-persistent-mark " ")) 243 (?n (wl-summary-line-number)) 244 (?@ (wl-summary-line-attached))) 245 "An alist of format specifications that can appear in summary lines. 246Each element is a list of following: 247\(SPEC STRING-EXP) 248SPEC is a character for format specification. 249STRING-EXP is an expression to get string to insert.") 250 251(defcustom wl-summary-line-format "%n%T%P%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s" 252 "*A default format string for summary line of Wanderlust. 253It may include any of the following format specifications 254which are replaced by the given information: 255 256%n The number of the message. 257 The width is decided using `wl-summary-default-number-column' and 258 `wl-summary-number-column-alist'. 259%T The temporal mark (*, D, o, O). 260%P The persistent mark (status of the message). 261%Y The year of the date field of the message (zero padded). 262%M The month of the date field of the message (zero padded). 263%D The day of the date field of the message (zero padded). 264%W The weekday name of the date field of the message (zero padded). 265%h The hour of the date field of the message (zero padded). 266%l The number in the mailing list. 267%m The minute of the date field of the message (zero padded). 268%[ An open bracket. If the message thread is linked, 269 it is replaced with '<'. 270%] A close bracket. If the message thread is linked, 271 it is replaced with '>'. 272%c The children number of the closed message thread. 273 Children number is printed like '+??:'. 274%C The children number of the closed message thread. 275 Children number is printed like '[+??] '. 276 If the message is opened, '>' or '>>' (linked) is displayed. 277%f The from: field string of the message. 278%s The subject: field string of the message. 279%S The size of the message (if available). 280%t The branch of the thread. 281%@ `@' only if the first MIME part is multipart/mixed. 282%~ If the previous spec is not zero-length, replaced with ' '. 283%# mailing list information (`(' ML-name [ ` ' ML-number ] `)') 284 285If the format string contains the specifiers %( and %), the text between 286them will have the specified number of columns. 287 288See also variable `wl-summary-width'." 289 :group 'wl-summary 290 :type 'string) 291 292(defcustom wl-folder-summary-line-format-alist nil 293 "An alist of folder name and a summary line format. 294If no match, `wl-summary-line-format' is used. 295e.x. 296 '((\"^%\" . \"%n%T%P%M/%D(%W)%h:%m %t%[%14(%c %f%) %](%S) %s\") 297 (\"^@2ch\" . \"%n%T%P%M%/%D/%h:%m %t[%9(%c %f%) ]%s\")))" 298 :type '(repeat (cons (regexp :tag "Folder Regexp") 299 (string :tag "line format"))) 300 :group 'wl-summary) 301 302(defcustom wl-summary-check-line-format t 303 "*Check summary line format change if non-nil. 304When summary line format is changed, current summary cache is discarded. 305It is highly recommended to set this value to t." 306 :type 'boolean 307 :group 'wl-summary) 308 309(defcustom wl-summary-line-format-file ".wl-summary-line-format" 310 "*Cache file for summary line format." 311 :type 'file 312 :group 'wl-summary) 313 314(defcustom wl-summary-from-function 'wl-summary-default-from 315 "*A function for displaying sender (From: field) information." 316 :type 'function 317 :group 'wl-summary) 318 319(defcustom wl-summary-subject-function 'wl-summary-default-subject 320 "*A function for displaying subject." 321 :type 'function 322 :group 'wl-summary) 323 324(defcustom wl-summary-subject-filter-function 'wl-summary-default-subject-filter 325 "*A filter function for comparing subjects." 326 :type 'function 327 :group 'wl-summary) 328 329(defcustom wl-summary-nobreak-char-display nil 330 "Override `nobreak-char-display' in Summary buffer. 331See `nobreak-char-display' for details." 332 :type '(choice (const :tag "Use harcoded face" t) 333 (const :tag "Use escape glyph" 'escape) 334 (const :tag "No special handling" nil)) 335 :group 'wl-summary) 336 337(defcustom wl-summary-search-parent-by-subject-regexp "^[ \t]*\\(\\[[^:]+[,: ][0-9]+\\]\\)?[ \t]*re[\\^[:> ]" 338 "*If message does not have in-reply-to field nor references field and 339subject matches this regexp, search parent message by subject matching. 340If nil, never search search parent by subject." 341 :type '(choice string 342 (const :tag "Don't search parent" nil)) 343 :group 'wl-summary) 344 345;;; Mark & Action 346(defcustom wl-summary-mark-action-list 347 '(("*" 348 target-mark 349 nil 350 wl-summary-register-target-mark 351 nil 352 wl-highlight-summary-temp-face 353 "Put target mark.") 354 ("d" 355 dispose 356 nil 357 wl-summary-register-temp-mark 358 wl-summary-exec-action-dispose 359 wl-highlight-summary-disposed-face 360 "Dispose messages according to `wl-dispose-folder-alist'.") 361 ("D" 362 delete 363 nil 364 wl-summary-register-temp-mark 365 wl-summary-exec-action-delete 366 wl-highlight-summary-deleted-face 367 "Delete messages immediately.") 368 ("o" 369 refile 370 wl-summary-get-refile-destination 371 wl-summary-set-action-refile 372 wl-summary-exec-action-refile 373 wl-highlight-summary-refiled-face 374 "Refile messages to the other folder.") 375 ("O" 376 copy 377 wl-summary-get-copy-destination 378 wl-summary-register-temp-mark 379 wl-summary-exec-action-copy 380 wl-highlight-summary-copied-face 381 "Copy messages to the other folder.") 382 ("i" 383 prefetch 384 nil 385 wl-summary-register-temp-mark 386 wl-summary-exec-action-prefetch 387 wl-highlight-summary-prefetch-face 388 "Prefetch messages.") 389 ("~" 390 resend 391 wl-summary-get-resend-address 392 wl-summary-register-temp-mark 393 wl-summary-exec-action-resend 394 wl-highlight-summary-resend-face 395 "Resend messages.")) 396 "A variable to define Mark & Action. 397Each element of the list should be a list of 398\(MARK 399 SYMBOL 400 ARGUMENT-FUNCTION 401 SET-MARK-FUNCTION 402 EXEC-FUNCTION 403 FACE 404 DOC-STRING) 405 406MARK is a temporal mark string to define. 407SYMBOL is an action name to define. 408ARGUMENT-FUNCTION is a function called to set the argument data for 409SET-MARK-FUNCTION. 410Its argument is (ACTION NUMBER). 411ACTION is same as the SYMBOL. 412NUMBER is the message number to determine the argument data. 413SET-MARK-FUNCTION is a function called to set the mark. 414Its argument is (NUMBER MARK DATA). 415NUMBER is the target message number. 416MARK is the temporary mark string. 417DATA is given by ARGUMENT-FUNCTION. 418EXEC-FUNCTION is a function called to execute the action. 419Its argument is a list of MARK-INFO. 420MARK-INFO is a list of (NUMBER MARK DATA). 421FACE is a face for highlighting." 422 :type '(repeat (list 423 (string :tag "Temporary mark") 424 (symbol :tag "Action name") 425 (symbol :tag "Argument function") 426 (symbol :tag "Set mark function") 427 (symbol :tag "Exec function") 428 (symbol :tag "Face symbol") 429 (string :tag "Document string"))) 430 :group 'wl-summary) 431 432;; Important folders 433(defcustom wl-default-folder "%inbox" 434 "*Default folder used in `wl-summary-goto-folder'." 435 :type 'string 436 :group 'wl) 437(defcustom wl-draft-folder "+draft" 438 "*Draft folder" 439 :type 'string 440 :group 'wl) 441(defcustom wl-trash-folder "+trash" 442 "*Trash folder" 443 :type 'string 444 :group 'wl 445 :group 'wl-setting) 446(defcustom wl-queue-folder "+queue" 447 "*Queue folder" 448 :type 'string 449 :group 'wl) 450 451(defcustom wl-default-spec "%" 452 "*Default prefix for folder name initially added in minibuffer" 453 :type 'string 454 :group 'wl) 455 456(defcustom wl-insert-mail-followup-to nil 457 "*Insert Mail-Followup-To: field if non-nil." 458 :type 'boolean 459 :group 'wl-draft) 460 461(defcustom wl-insert-mail-reply-to nil 462 "*Insert Mail-Reply-To: field if non-nil." 463 :type 'boolean 464 :group 'wl-draft) 465 466(defcustom wl-insert-message-id t 467 "*Insert Message-ID: field if non-nil." 468 :type 'boolean 469 :group 'wl-draft) 470 471(defcustom wl-auto-insert-x-face t 472 "*Insert X-Face: field automatically." 473 :type 'boolean 474 :group 'wl-draft) 475 476(defcustom wl-x-face-file "~/.xface" 477 "*X-Face field is inserted using its contents. 478If file exists and `wl-auto-insert-x-face' is non-nil." 479 :type 'file 480 :group 'wl-draft) 481 482(defcustom wl-draft-write-file-function 'wl-draft-save 483 "Save function for draft message." 484 :type 'function 485 :group 'wl-draft) 486 487(defcustom wl-subscribed-mailing-list nil 488 "*Subscribed mailing list. 489You had better set this variable if you set 'wl-insert-mail-followup-to' as t." 490 :type '(repeat string) 491 :group 'wl-pref 492 :group 'wl-setting) 493 494(defcustom wl-demo t 495 "*Display demo at start time." 496 :type 'boolean 497 :group 'wl-pref) 498 499(defcustom wl-demo-icon-name-alist 500 '(((string-match "^... Dec \\([ 01][0-9]\\|2[0-5]\\)" (current-time-string)) 501 . 502 (concat "wl-" (wl-version-status) "-xmas-logo")) 503 (t 504 . 505 (concat "wl-" (wl-version-status) "-logo"))) 506 "An alist to determine the basename of the logo file." 507 :type '(repeat (cons (symbol :tag "condition") 508 (symbol :tag "file name"))) 509 :group 'wl-pref) 510 511(defcustom wl-demo-image-filter-alist nil 512 "An alist of image type and filter function." 513 :type '(repeat (cons symbol function)) 514 :group 'wl-pref) 515 516(defcustom wl-envelope-from nil 517 "*Envelope From used in SMTP. 518If nil, `wl-from' is used." 519 :type '(choice (const :tag "Same as 'From' field." nil) 520 string) 521 :group 'wl 522 :group 'wl-setting) 523 524(defcustom wl-draft-additional-header-alist nil 525 "*Additional headers in the draft." 526 :type '(repeat (cons (symbol :tag "Field Name") 527 (choice (string :tag "String") 528 (function :tag "Function")))) 529 :group 'wl-draft) 530 531(defcustom wl-draft-add-in-reply-to t 532 "*If non-nil, message-id of the cited message is inserted to the 533in-reply-to field of the current draft. 534Note: default value follows RFC2822." 535 :type 'boolean 536 :group 'wl-draft) 537 538(defcustom wl-draft-add-references nil 539 "*If non-nil, message-id of the cited message is inserted to the 540references field of the current draft. 541Note: default value follows RFC2822." 542 :type 'boolean 543 :group 'wl-draft) 544 545(defcustom wl-draft-cite-function 'wl-default-draft-cite 546 "*A function for citation." 547 :type 'function 548 :group 'wl-draft) 549 550(defcustom wl-default-draft-cite-date-format-string t 551 "*Format string to use for first line of citation in `wl-default-draft-cite'. 552The value is passed to `format-time-string'. 553When non-string and non-nil, call `wl-make-date-string' function. 554When nil, use original message's Date: field as is." 555 :type '(choice (string :tag "Format string") 556 (const :tag "Call wl-make-date-string function" t) 557 (const :tag "Use original Date: field" nil)) 558 :group 'wl-draft) 559 560(defcustom wl-default-draft-cite-no-date-string "Some time ago" 561 "*String to use for first line of citation in `wl-default-draft-cite'. 562The value is used as is when original message's Date: field is not found." 563 :type 'string 564 :group 'wl-draft) 565 566(defcustom wl-default-draft-cite-no-author-string "you" 567 "*String to use for second line of citation in `wl-default-draft-cite'. 568The value is used as is when original message's From: field is not found." 569 :type 'string 570 :group 'wl-draft) 571 572(defcustom wl-default-draft-cite-time-locale "C" 573 "*Override `system-time-locale' while making time string of citaion header." 574 :type '(choice (string :tag "Specify locale") 575 (const :tag "Do not override" nil)) 576 :group 'wl-draft) 577 578(defcustom wl-default-draft-cite-header-format-string "%s,\n%s wrote:\n" 579 "*Format string to generate citation header. 580The value is passed to `format' function with two string, date 581and author respectively. Should be terminated with LF." 582 :type 'string 583 :group 'wl-draft) 584 585(defcustom wl-default-draft-cite-decorate-author t 586 "*If non-nil, the author of cited message is arranged by 587`wl-summary-from-func-internal' in `wl-default-draft-cite'." 588 :type 'boolean 589 :group 'wl-draft) 590 591(defcustom wl-draft-preview-process-pgp nil 592 "*When non-nil, PGP processing (encryption, sign) will be done when preview." 593 :type 'boolean 594 :group 'wl-draft) 595 596(defcustom wl-smtp-connection-type nil 597 "*SMTP connection type. 598If nil, default smtp connection type is used." 599 :type '(choice (const :tag "default" nil) 600 (const :tag "Use STARTTLS" starttls) 601 (const :tag "SMTP over SSL" ssl) 602 symbol) 603 :group 'wl) 604 605(defcustom wl-smtp-posting-user nil 606 "*SMTP authentication user." 607 :type '(choice (const :tag "none" nil) 608 string) 609 :group 'wl 610 :group 'wl-setting) 611 612(defcustom wl-smtp-posting-server nil 613 "*SMTP server name to send mail (wl-draft-send-mail-with-smtp)." 614 :type '(choice (const :tag "none" nil) 615 string) 616 :group 'wl 617 :group 'wl-setting) 618 619(defcustom wl-smtp-posting-port nil 620 "*SMTP port number in `wl-smtp-posting-server'. 621If nil, default SMTP port number(25) is used." 622 :type '(choice (const :tag "Default (25)" nil) 623 integer) 624 :group 'wl 625 :group 'wl-setting) 626 627(defcustom wl-smtp-authenticate-type nil 628 "*SMTP Authentication type. 629If nil, don't authenticate." 630 :type '(choice (const :tag "none" nil) 631 (const :tag "PLAIN" "plain") 632 (const :tag "CRAM-MD5" "cram-md5") 633 (const :tag "DIGEST-MD5" "digest-md5") 634 (const :tag "LOGIN" "login") 635 (string :tag "Other")) 636 :group 'wl 637 :group 'wl-setting) 638 639(defcustom wl-smtp-authenticate-realm nil 640 "*SMTP Authentication realm. 641If you don't need to specify realm, set as nil." 642 :type '(choice (const :tag "none" nil) 643 string) 644 :group 'wl 645 :group 'wl-setting) 646 647(defcustom wl-pop-before-smtp-user nil 648 "*POP3 user name to send mail using POP-before-SMTP. 649If nil, `elmo-pop3-default-user' is used. 650To use POP-before-SMTP, 651\(setq wl-draft-send-mail-function 'wl-draft-send-mail-with-pop-before-smtp)" 652 :type '(choice (const :tag "none" nil) 653 string) 654 :group 'wl 655 :group 'wl-setting) 656 657(defcustom wl-pop-before-smtp-server nil 658 "*POP3 server for POP-before-SMTP. 659If nil, `elmo-pop3-default-server' is used." 660 :type '(choice (const :tag "none" nil) 661 string) 662 :group 'wl 663 :group 'wl-setting) 664 665(defcustom wl-pop-before-smtp-port nil 666 "*POP3 port for POP-before-SMTP. 667If nil, `elmo-pop3-default-port' is used." 668 :type '(choice (const :tag "none" nil) 669 integer string) 670 :group 'wl 671 :group 'wl-setting) 672 673(defcustom wl-pop-before-smtp-stream-type nil 674 "*Stream type for POP-before-SMTP. 675If nil, `elmo-pop3-default-stream-type' is used." 676 :type '(choice (const :tag "Use `elmo-pop3-default-stream-type'" nil) 677 symbol) 678 :group 'wl) 679 680(defcustom wl-pop-before-smtp-authenticate-type nil 681 "*Default Authentication type for POP-before-SMTP. 682If nil, `elmo-pop3-default-authenticate-type' is used." 683 :type '(choice (const :tag "none" nil) 684 (const :tag "APOP" 'apop) 685 (const :tag "POP3" 'user)) 686 :group 'wl 687 :group 'wl-setting) 688 689(defcustom wl-nntp-posting-server nil 690 "*NNTP server name to post news. 691If nil, `elmo-nntp-default-server' is used." 692 :type '(choice (const :tag "none" nil) 693 string) 694 :group 'wl 695 :group 'wl-setting) 696(defcustom wl-nntp-posting-user nil 697 "*NNTP user name to post news for authinfo. 698If nil, `elmo-nntp-default-user' is used. 699If nil, don't authenticate." 700 :type '(choice (const :tag "none" nil) 701 string) 702 :group 'wl 703 :group 'wl-setting) 704(defcustom wl-nntp-posting-port nil 705 "*NNTP port to post news. 706If nil, `elmo-nntp-default-port' is used." 707 :type '(choice (const :tag "none" nil) 708 integer string) 709 :group 'wl 710 :group 'wl-setting) 711(defcustom wl-nntp-posting-stream-type nil 712 "*Stream type for posting Netnews. 713If nil, `elmo-nntp-default-stream-type' is used." 714 :type '(choice (const :tag "Use `elmo-nntp-default-stream-type'" nil) 715 symbol) 716 :group 'wl) 717(defcustom wl-nntp-posting-function 'elmo-nntp-post 718 "A function to post news. 719Prepared candidate is 'elmo-nntp-post." 720 :type '(radio (function-item elmo-nntp-post) 721 (function :tag "Other")) 722 :group 'wl-draft) 723(defcustom wl-nntp-posting-config-alist nil 724 "*Alist of configuration on nntp posting. 725ex. 726'((\",?local.test\" . \"news.media.kyoto-u.ac.jp\") 727 (\",?ku\\.\" . 728 ((server . \"news.media.kyoto-u.ac.jp\") 729 (user . \"newsmaster\") 730 (port . 119) 731 (function . elmo-nntp-post)) 732 (\".*\" . \"newsfeed.kuee.kyoto-u.ac.jp\")))" 733 :type '(repeat (cons (sexp :tag "Match") 734 (choice (string :tag "Server") 735 (repeat :inlie t 736 (cons (choice (const server) 737 (const user) 738 (const port) 739 (const stream-type) 740 (const function)) 741 (sexp :tag "Value")))))) 742 :group 'wl-draft 743 :group 'wl-setting) 744 745(defcustom wl-prefetch-confirm t 746 "*Confirm prefetching if message size is larger than `wl-prefetch-threshold'." 747 :type 'boolean 748 :group 'wl-pref) 749 750(defcustom wl-prefetch-threshold 30000 751 "*Maximum size of message prefetched without confirmation. 752If nil, all messages prefetched regardless of its size. 753If message size is larger than this value, confirm prefetching 754when `wl-prefetch-confirm' is non-nil." 755 :type '(choice (integer :tag "Threshold (bytes)") 756 (const :tag "No limitation" nil)) 757 :group 'wl-pref 758 :group 'wl-setting) 759 760(defcustom wl-thread-insert-opened nil 761 "*Non-nil forces to insert thread as opened in updating." 762 :type 'boolean 763 :group 'wl-summary 764 :group 'wl-setting) 765 766(defcustom wl-thread-open-reading-thread t 767 "*Non-nil forces to open reading thread." 768 :type 'boolean 769 :group 'wl-summary) 770 771(defcustom wl-additional-search-condition-fields nil 772 "*A list of field name which is used for candidates of search condition." 773 :type '(repeat (string :tag "Field name")) 774 :group 'wl-pref 775 :group 'wl-setting) 776 777;;;; Hooks 778(defvar wl-folder-mode-hook nil 779 "A hook called when wanderlust folder mode is started. 780This hook may contain the functions `wl-folder-init-icons' and 781`wl-setup-folder' for reasons of system internal to accord facilities 782for the Emacs variants.") 783(defvar wl-summary-toggle-disp-on-hook nil 784 "A hook called when message is toggled.") 785(defvar wl-summary-toggle-disp-off-hook nil 786 "A hook called when message is disappeared.") 787(defvar wl-summary-toggle-disp-folder-on-hook nil 788 "A hook called when folder is toggled.") 789(defvar wl-summary-toggle-disp-folder-off-hook nil 790 "A hook called when folder is disappeared.") 791(defvar wl-summary-toggle-disp-folder-message-resumed-hook nil 792 "A hook called when message window is resumed when folder is toggled.") 793(defvar wl-summary-mode-hook nil 794 "A hook called when summary mode is started. 795This hook may contain the function `wl-setup-summary' for reasons of 796system internal to accord facilities for the Emacs variants.") 797 798(defvar wl-summary-prepared-pre-hook nil 799 "A hook called before the summary buffer has been generated.") 800(defvar wl-summary-prepared-hook nil 801 "A hook called after the summary buffer has been generated.") 802(defvar wl-summary-sync-updated-hook nil 803 "A hook called when update summary buffer.") 804(defvar wl-summary-unread-message-hook nil 805 "A hook called when unread message is displayed.") 806(defvar wl-summary-edit-addresses-hook nil 807 "A hook called when address book is edited.") 808(defvar wl-summary-buffer-message-saved-hook nil 809 "A hook called when msgdb is saved.") 810(defvar wl-summary-buffer-mark-saved-hook nil 811 "A hook called when mark is saved.") 812(defvar wl-summary-divide-thread-when-subject-changed nil 813 "Divide thread when subject is changed.") 814(defvar wl-init-hook nil 815 "A hook called when initialization is finished. This hook may contain 816the functions `wl-plugged-init-icons' and `wl-biff-init-icons' for 817reasons of system internal to accord facilities for the Emacs variants.") 818(defvar wl-hook nil 819 "A hook called when Wanderlust is invoked.") 820 821(defvar wl-draft-reply-hook 822 '((lambda () (wl-draft-setup-parent-flag 'answered))) 823 "A hook called when replied. 824This hook runs on the draft buffer.") 825 826(defvar wl-draft-forward-hook 827 '((lambda () (wl-draft-setup-parent-flag 'forwarded))) 828 "A hook called when forwarded. 829This hook runs on the draft buffer.") 830 831(defvar wl-draft-kill-pre-hook nil 832 "A hook called just before the draft buffer is killed.") 833 834(defvar wl-summary-reply-hook nil 835 "A hook called when `wl-summary-reply' is called. 836This hook runs on the summary buffer.") 837 838(defvar wl-summary-forward-hook nil 839 "A hook called when `wl-summary-forward' is called. 840This hook runs on the summary buffer.") 841 842(defvar wl-summary-resend-hook nil 843 "A hook runs on the resent message buffer before sending process starts.") 844 845(defvar wl-summary-redisplay-hook nil 846 "A hook called when displaying message finishes.") 847 848(defvar wl-mail-setup-hook nil 849 "A hook called when Draft is prepared.") 850(defvar wl-draft-reedit-hook '(wl-draft-remove-text-plain-tag) 851 "A hook called when Draft is re-edited. 852The cursor point is located at top of the body.") 853(defvar wl-draft-send-hook '(wl-draft-config-exec) 854 "A hook called on the draft editing buffer before sending process starts.") 855(defvar wl-mail-send-pre-hook nil 856 "A hook called just before the mail sending process starts.") 857(defvar wl-news-send-pre-hook nil 858 "A hook called just before the news sending process starts.") 859(defvar wl-message-buffer-created-hook nil 860 "A hook called when Message buffer is prepared.") 861(defvar wl-message-redisplay-hook nil 862 "A hook called when Message is displayed.") 863(defvar wl-message-exit-hook nil 864 "A hook called when quit message.") 865(defvar wl-summary-exit-pre-hook nil 866 "A hook called before exit summary mode.") 867(defvar wl-summary-exit-hook nil 868 "A hook called when exit summary mode.") 869(defvar wl-highlight-headers-hook nil 870 "A hook called when header is highlighted.") 871(defvar wl-highlight-message-hook nil 872 "A hook called when message is highlighted.") 873(defvar wl-save-hook nil 874 "A hook called when save summary and folder status.") 875(defvar wl-exit-hook nil 876 "A hook called when exit wanderlust.") 877(defvar wl-folder-suspend-hook nil 878 "A hook called when suspend wanderlust.") 879(defvar wl-biff-notify-hook '(ding) 880 "A hook called when a biff-notification is invoked.") 881(defvar wl-biff-unnotify-hook nil 882 "A hook called when a biff-notification is removed.") 883(defvar wl-biff-new-mail-hook nil 884 "A hook called when `wl-biff-notify' found non-zero new 885mails. The hook functions receive the number of new mails as 886the first argument.") 887(defvar wl-auto-check-folder-pre-hook nil 888 "A hook called before auto check folders.") 889(defvar wl-auto-check-folder-hook nil 890 "A hook called when auto check folders.") 891(defvar wl-folder-check-entity-pre-hook nil 892 "A hook called before check entity. 893Functions are called with one argument ENTITY.") 894(defvar wl-folder-check-entity-hook nil 895 "A hook called when check entity. 896Functions are called with one argument ENTITY.") 897(defvar wl-draft-config-exec-hook nil 898 "A hook called when execute header-config on draft.") 899(defvar wl-summary-expire-pre-hook nil 900 "A hook called before expire.") 901(defvar wl-summary-expire-hook nil 902 "A hook called when expired.") 903(defvar wl-summary-archive-pre-hook nil 904 "A hook called before archive.") 905(defvar wl-summary-archive-hook nil 906 "A hook called when archived.") 907(defvar wl-summary-line-inserted-hook nil 908 "A hook called when summary line is inserted.") 909(defvar wl-summary-insert-headers-hook nil 910 "A hook called when insert header for search header.") 911(defvar wl-message-display-internal-hook nil 912 "A hook called when message buffer is created and message is displayed. 913This hook may contain the functions `wl-setup-message' for 914reasons of system internal to accord facilities for the Emacs variants.") 915(defvar wl-thread-update-children-number-hook nil 916 "A hook called when children number is updated.") 917(defvar wl-folder-update-access-group-hook nil 918 "A hook called when update access group folder.") 919(defvar wl-draft-cited-hook nil 920 "A hook called after a message is cited.") 921(defvar wl-draft-insert-x-face-field-hook nil 922 "A hook called after a x-face field is inserted.") 923(defvar wl-template-mode-hook nil 924 "A hook called when template mode is started.") 925(defvar wl-score-mode-hook nil 926 "A hook called when score mode is started.") 927(defvar wl-make-plugged-hook nil 928 "A hook called when make plugged alist.") 929 930(defvar wl-plugged-exit-hook nil 931 "A hook called when exit plugged mode.") 932 933;;;; functions for draft 934(defcustom wl-draft-send-function 'wl-draft-normal-send-func 935 "A function to send message." 936 :type 'function 937 :group 'wl-draft) 938 939(defcustom wl-draft-send-news-function 'wl-draft-elmo-nntp-send 940 "A function to send news." 941 :type 'function 942 :group 'wl-draft) 943 944(defcustom wl-draft-send-mail-function 'wl-draft-send-mail-with-smtp 945 "A function to send mail. 946Prepared candidates are 'wl-draft-send-mail-with-smtp, 947'wl-draft-send-mail-with-sendmail, 'wl-draft-send-mail-with-qmail 948and 'wl-draft-send-mail-with-pop-before-smtp." 949 :type '(radio (function-item wl-draft-send-mail-with-smtp) 950 (function-item wl-draft-send-mail-with-sendmail) 951 (function-item wl-draft-send-mail-with-qmail) 952 (function-item wl-draft-send-mail-with-pop-before-smtp) 953 (function :tag "Other")) 954 :group 'wl-draft) 955 956(defcustom wl-draft-send-confirm-type 'scroll-by-SPC/BS 957 "*Confirmation type or function to use when send a message." 958 :type '(choice 959 (const :tag "y or n with scroll (j/k)" scroll-by-j/k) 960 (const :tag "y or n with scroll (SPC/BS)" scroll-by-SPC/BS) 961 (function-item y-or-n-p) 962 (function-item yes-or-no-p) 963 (function :tag "Other function")) 964 :group 'wl-draft) 965 966(defcustom wl-draft-reply-with-argument-list 967 '(("From" . (("Reply-To" "Mail-Reply-To" "From") 968 ("Mail-Followup-To" "To" "Cc") 969 ("Followup-To" "Newsgroups")))) 970 "Alist of cons cell of 971\('condition' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) 972'condition' is a header name string (non-nil if the header exists in original 973message), a function (evaluated in original message buffer) or a list of those 974\(means 'AND' condition). 975'fields for ***' is a list of strings. 976If car of each cons cell returns non-nil value, 977cdr of each cons cell is used for preparing headers of draft message. 978Default is for 'reply-to-all'." 979 :type '(repeat (cons (choice (string :tag "Field Name") 980 (symbol :tag "Function") 981 (const :tag "Replying to self" wl-draft-self-reply-p) 982 (repeat :tag "AND" 983 (choice (string :tag "Field Name") 984 (symbol :tag "Function") 985 (const :tag "Replying to self" wl-draft-self-reply-p)))) 986 (list (repeat :tag "Fields For To" string) 987 (repeat :tag "Fields For Cc" string) 988 (repeat :tag "Fields For Newsgroups" string)))) 989 :group 'wl-draft) 990 991(defcustom wl-draft-reply-without-argument-list 992 '(("Followup-To" . (("Mail-Followup-To" "Mail-Reply-To" "Reply-To") nil ("Followup-To"))) 993 ("Mail-Followup-To" . (("Mail-Followup-To") nil nil)) 994 ("Newsgroups" . (("Mail-Reply-To" "Reply-To" "To") ("Cc") ("Newsgroups"))) 995 ("Mail-Reply-To" . (("Mail-Reply-To" "Reply-To") ("To" "Cc") nil)) 996 ("Reply-To" . (("Reply-To") ("To" "Cc") nil)) 997 (wl-draft-self-reply-p . (("To") ("Cc") nil)) 998 ("From" . (("From") ("To" "Cc") nil))) 999 "Alist of cons cell of 1000\('condition' . ('fields for To' 'fields for Cc' 'fields for Newsgroups')) 1001'condition' is a header name string (non-nil if the header exists in original 1002message), a function (evaluated in original message buffer) or a list of those 1003\(means 'AND' condition). 1004'fields for ***' is a list of strings. 1005If car of each cons cell returns non-nil value, 1006cdr of each cons cell is used for preparing headers of draft message." 1007 :type '(repeat (cons (choice (string :tag "Field Name") 1008 (symbol :tag "Function") 1009 (const :tag "Replying to self" wl-draft-self-reply-p) 1010 (repeat :tag "AND" 1011 (choice (string :tag "Field Name") 1012 (symbol :tag "Function") 1013 (const :tag "Replying to self" wl-draft-self-reply-p)))) 1014 (list (repeat :tag "Fields For To" string) 1015 (repeat :tag "Fields For Cc" string) 1016 (repeat :tag "Fields For Newsgroups" string)))) 1017 :group 'wl-draft) 1018 1019(defcustom wl-draft-always-delete-myself nil 1020 "*Always delete myself from recipient if non-nil." 1021 :type 'boolean 1022 :group 'wl-draft) 1023 1024(defcustom wl-draft-delete-myself-from-bcc-fcc nil 1025 "*Do not insert bcc or fcc if To and Cc fields is a member of 1026`wl-subscribed-mailing-list'" 1027 :type 'boolean 1028 :group 'wl-draft) 1029 1030(defcustom wl-draft-resume-folder-window t 1031 "*Resume folder window in `wl-draft-hide'." 1032 :type 'boolean 1033 :group 'wl-draft) 1034 1035(defcustom wl-draft-use-frame nil 1036 "*Raise new frame when composing draft." 1037 :type 'boolean 1038 :group 'wl-draft) 1039 1040(defcustom wl-draft-qmail-send-plugged nil 1041 "*Send mail when plugged is on, in the `wl-draft-send-mail-with-qmail'." 1042 :type 'boolean 1043 :group 'wl-draft) 1044 1045(defcustom wl-draft-remove-group-list-contents t 1046 "*If non-nil, remove group list contents in `wl-draft-send-mail-with-smtp'." 1047 :type 'boolean 1048 :group 'wl-draft) 1049 1050;;;; 1051(defcustom wl-init-file "~/.wl" 1052 "*User customization setting file." 1053 :type 'file 1054 :group 'wl) 1055 1056(defcustom wl-folders-file "~/.folders" 1057 "*Folders file." 1058 :type 'file 1059 :group 'wl) 1060 1061(defcustom wl-address-file "~/.addresses" 1062 "*Addresses file." 1063 :type 'file 1064 :group 'wl) 1065 1066(defcustom wl-alias-file "~/.im/Aliases" 1067 "*Alias file for completion." 1068 :type 'file 1069 :group 'wl) 1070 1071(defcustom wl-ldap-server nil 1072 "*LDAP server." 1073 :type '(choice (const :tag "Default server(localhost)" nil) 1074 (string :tag "Server")) 1075 :group 'wl 1076 :group 'wl-setting) 1077 1078(defcustom wl-ldap-port nil 1079 "*LDAP port." 1080 :type '(choice (const :tag "Default port" nil) 1081 integer) 1082 :group 'wl 1083 :group 'wl-setting) 1084 1085(defcustom wl-ldap-base nil 1086 "*LDAP base." 1087 :type '(choice (const :tag "Default base" nil) 1088 (string :tag "Base")) 1089 :group 'wl 1090 :group 'wl-setting) 1091 1092(defcustom wl-use-ldap nil 1093 "*If non-nil, use LDAP for address completion." 1094 :type 'boolean 1095 :group 'wl 1096 :group 'wl-setting) 1097 1098(defcustom wl-use-acap nil 1099 "*If non-nil, use ACAP for configuration." 1100 :type 'boolean 1101 :group 'wl) 1102 1103(defcustom wl-folder-info-save t 1104 "If non-nil, save elmo-folder-info-alist." 1105 :type 'boolean 1106 :group 'wl-folder) 1107 1108(defcustom wl-summary-persistent-mark-priority-list '(killed 1109 flag 1110 new 1111 answered 1112 forwarded 1113 unread) 1114 "List of preserved flag symbols to define the priority to map to 1115the persistent mark. 1116Special symbol `flag' means the user defined flag." 1117 :type '(repeat (symbol :tag "preserved flag")) 1118 :group 'wl-summary) 1119 1120(defcustom wl-summary-flag-alist 1121 '((important "orange")) 1122 "An alist to define the global flags for the summary mode. 1123Each element is a form like: 1124\(SYMBOL-OF-FLAG COLOR [MARK]\) 1125Example: 1126\((important \"orange\"\) 1127 \(todo \"red\" \"T\"\) 1128 \(business \"green\" \"B\"\) 1129 \(private \"blue\"\)\)" 1130 :type '(repeat (list (symbol :tag "flag") 1131 (string :tag "color") 1132 (choice (string :tag "mark") 1133 (const :tag "Default mark" nil)))) 1134 :group 'wl-summary) 1135 1136(defcustom wl-summary-killed-mark "X" 1137 "Mark for killed message." 1138 :type '(string :tag "Mark") 1139 :group 'wl-summary-marks) 1140 1141(defcustom wl-summary-uncached-mark "!" 1142 "Mark for uncached message with no flag." 1143 :type '(string :tag "Mark") 1144 :group 'wl-summary-marks) 1145 1146(defcustom wl-summary-new-uncached-mark "N" 1147 "Mark for new and uncached message." 1148 :type '(string :tag "Mark") 1149 :group 'wl-summary-marks) 1150 1151(defcustom wl-summary-new-cached-mark "n" 1152 "Mark for new but already cached message." 1153 :type '(string :tag "Mark") 1154 :group 'wl-summary-marks) 1155 1156(defcustom wl-summary-unread-uncached-mark "U" 1157 "Mark for unread and uncached message." 1158 :type '(string :tag "Mark") 1159 :group 'wl-summary-marks) 1160 1161(defcustom wl-summary-unread-cached-mark "u" 1162 "Mark for unread but already cached message." 1163 :type '(string :tag "Mark") 1164 :group 'wl-summary-marks) 1165 1166(defcustom wl-summary-answered-cached-mark "a" 1167 "Mark for answered and cached message." 1168 :type '(string :tag "Mark") 1169 :group 'wl-summary-marks) 1170 1171(defcustom wl-summary-answered-uncached-mark "A" 1172 "Mark for answered but uncached message." 1173 :type '(string :tag "Mark") 1174 :group 'wl-summary-marks) 1175 1176(defcustom wl-summary-flag-mark "$" 1177 "Mark for the messages which have tags." 1178 :type '(string :tag "Mark") 1179 :group 'wl-summary-marks) 1180 1181(defcustom wl-summary-score-over-mark "+" 1182 "Score mark used for messages with high scores." 1183 :type '(string :tag "Mark") 1184 :group 'wl-summary-marks) 1185 1186(defcustom wl-summary-score-below-mark "-" 1187 "Score mark used for messages with low scores." 1188 :type '(string :tag "Mark") 1189 :group 'wl-summary-marks) 1190 1191(defcustom wl-summary-no-mime-folder-list nil 1192 "*All folders that match this list don't analyze mime." 1193 :type '(repeat string) 1194 :group 'wl-summary) 1195 1196(defcustom wl-summary-display-mime-mode-list '(mime as-is) 1197 "*Display mime mode list toggled by `wl-summary-toggle-mime'. 1198Candidates are following: 1199`mime' ... header and body are decoded 1200`header-only' ... only header is decoded 1201`as-is' ... header and body are not decoded" 1202 :type '(repeat (choice (const :tag "MIME" mime) 1203 (const :tag "HEADER-ONLY" header-only) 1204 (const :tag "AS-IS" as-is))) 1205 :group 'wl-summary) 1206 1207(defcustom wl-summary-fix-timezone nil 1208 "*Time zone of the date string in summary mode. 1209If nil, it is adjust to the default time zone information 1210\(system's default time zone or environment variable TZ)." 1211 :type '(choice (const :tag "Default time zone" nil) 1212 string) 1213 :group 'wl-summary) 1214 1215(defcustom wl-summary-message-ring-max 16 1216 "*Maximum size of message ring on summary buffer. 1217Start discarding off end if gets this big." 1218 :type 'integer 1219 :group 'wl-summary) 1220 1221(defcustom wl-summary-default-score 0 1222 "*Default message score level. 1223All scores generated by the score files will be added to this score. 1224If this variable is nil, scoring will be disabled." 1225 :type '(choice (const :tag "disable" nil) 1226 integer) 1227 :group 'wl-score) 1228 1229(defcustom wl-summary-important-above nil 1230 "*Mark all messages with a score above this variable as important. 1231This variable is local to the summary buffers." 1232 :type '(choice (const :tag "off" nil) 1233 integer) 1234 :group 'wl-score) 1235 1236(defcustom wl-summary-target-above nil 1237 "*Mark all messages with a score above this variable as target. 1238This variable is local to the summary buffers." 1239 :type '(choice (const :tag "off" nil) 1240 integer) 1241 :group 'wl-score) 1242 1243(defcustom wl-summary-mark-below 0 1244 "*Mark all messages with a score below this variable as read. 1245This variable is local to each summary buffer and usually set by the 1246score file." 1247 :type 'integer 1248 :group 'wl-score) 1249 1250(defcustom wl-summary-expunge-below nil 1251 "All messages that have a score less than this variable will be expunged. 1252This variable is local to the summary buffers." 1253 :type '(choice (const :tag "off" nil) 1254 integer) 1255 :group 'wl-score) 1256 1257(defcustom wl-summary-score-marks 1258 (list wl-summary-new-uncached-mark wl-summary-new-cached-mark) 1259 "Persistent marks to scoring." 1260 :type '(repeat (string :tag "Mark")) 1261 :group 'wl-score) 1262 1263(defcustom wl-use-scoring t 1264 "*If non-nil, enable scoring." 1265 :type 'boolean 1266 :group 'wl-pref) 1267 1268(defcustom wl-summary-rescore-partial-threshold 200 1269 "*Summary is not scored entirely if there are messages more than this value. 1270In sync-all or rescan." 1271 :type 'integer 1272 :group 'wl-score) 1273 1274(defcustom wl-score-files-directory (concat elmo-msgdb-directory elmo-path-sep) 1275 "*Name of the directory where score files will be stored. 1276\(default \"~/.elmo\")." 1277 :type 'directory 1278 :group 'wl) 1279 1280(defcustom wl-score-interactive-default-score 1000 1281 "*Scoring commands will raise/lower the score with this number as the default." 1282 :type 'integer 1283 :group 'wl-score) 1284 1285(defcustom wl-score-expiry-days 7 1286 "*Number of days before unused score file entries are expired. 1287If this variable is nil, no score file entries will be expired." 1288 :type '(choice (const :tag "never" nil) 1289 number) 1290 :group 'wl-score) 1291 1292(defcustom wl-score-update-entry-dates t 1293 "*In non-nil, update matching score entry dates. 1294If this variable is nil, then score entries that provide matches 1295will be expired along with non-matching score entries." 1296 :type 'boolean 1297 :group 'wl-score) 1298 1299(defcustom wl-score-folder-alist nil 1300 "*Alist of folder regexp and score file." 1301 :type '(repeat (list (regexp :tag "Folder Regexp") 1302 (repeat :inline t 1303 (choice file 1304 (symbol :tag "Variable"))))) 1305 :group 'wl-score) 1306 1307(defcustom wl-score-folder-alist-matchone t 1308 "*If non-nil, getting only one element of `wl-score-folder-alist'." 1309 :type 'boolean 1310 :group 'wl-score) 1311 1312(defcustom wl-score-default-file "all.SCORE" 1313 "*Default score file name." 1314 :type 'file 1315 :group 'wl-score) 1316 1317(defcustom wl-score-simplify-fuzzy-regexp 1318 '("^[ \t]*\\[[^:]+[,: ][0-9]+\\][ \t]*") 1319 "*Strings to be removed when doing fuzzy matches. 1320This can either be a regular expression or list of regular expressions." 1321 :type '(repeat regexp) 1322 :group 'wl-score) 1323 1324(defcustom wl-score-header-default-entry 1325 '(("number" -1000 perm =) 1326 ("subject" -1000 nil nil) 1327 ("from" -1000 perm s) 1328 ("message-id" -1000 temp e) 1329 ("references" -1000 perm e) 1330 ("to" -1000 perm s) 1331 ("cc" -1000 perm s) 1332 ("date" -1000 temp nil) 1333 ("xref" -1000 perm s) 1334 ("extra" -1000 perm s) 1335 ("chars" -1000 perm >) 1336 ("lines" -1000 perm >) 1337 ("followup" -1000 perm s) 1338 ("thread" -1000 temp s)) 1339 "*Default entry when insert score entry." 1340 :type '(repeat (list (string :tag "Header") 1341 (choice (integer :tag "Score") 1342 (const :tag "Ask" nil)) 1343 (choice (const :tag "Permanent" perm) 1344 (const :tag "Temporary" temp) 1345 (const :tag "Ask" nil)) 1346 (choice (const :tag "Regexp string" r) 1347 (const :tag "Substring" s) 1348 (const :tag "fuzzy string" f) 1349 (const :tag "Exact string" e) 1350 (const :tag "REGEXP STRING" R) 1351 (const :tag "SUBSTRING" S) 1352 (const :tag "FUZZY STRING" F) 1353 (const :tag "EXACT STRING" E) 1354 (const :tag "less than" <) 1355 (const :tag "less equal" <=) 1356 (const :tag "greater than" >) 1357 (const :tag "greater equal" >=) 1358 (const :tag "equal" =) 1359 (const :tag "Ask" nil)))) 1360 :group 'wl-score) 1361 1362(defcustom wl-score-mode-mime-charset 'x-ctext 1363 "*MIME Charset for score file." 1364 :type 'symbol 1365 :group 'wl-score) 1366 1367(defcustom wl-draft-fields 1368 '("To:" "Cc:" "Bcc:" "Fcc:" "Distribution:" "Organization:" 1369 "Newsgroups:" "Followup-To:" "Mail-Followup-To:" "From:" "Reply-To:") 1370 "Fields used in draft mode." 1371 :type '(repeat (string :tag "Field")) 1372 :group 'wl-draft) 1373 1374;; MIME Bcc. 1375(defcustom wl-draft-mime-bcc-field-name "Ecc" 1376 "Field name for MIME-encapsulated Bcc." 1377 :type '(string :tag "Field Name") 1378 :group 'wl-draft) 1379 1380(defcustom wl-draft-mime-bcc-body nil 1381 "Body string for MIME-encapsulated Bcc. 1382If nil, a string `This is a blind carbon copy.' is used." 1383 :type '(choice (const :tag "default" nil) 1384 (string :tag "Body")) 1385 :group 'wl-draft) 1386 1387(defcustom wl-draft-disable-bcc-for-mime-bcc t 1388 "Disable Bcc while MIME-encapsulated Bcc." 1389 :type 'boolean 1390 :group 'wl-draft) 1391 1392(defcustom wl-draft-disable-fcc-for-mime-bcc t 1393 "Disable Fcc while MIME-encapsulated Bcc." 1394 :type 'boolean 1395 :group 'wl-draft) 1396 1397(defcustom wl-draft-config-alist nil 1398 "Alist of condition and actions for dynamical draft modification. 1399First element of each list is some condition for the draft buffer (regular 1400expression for header or elisp expression) and remaining elements indicate 1401actions. 1402If the first element is `reply' keyword, the next element be the condition 1403for the message being replied, and remaining elements are actions. 1404 1405The configuration is applied when `wl-draft-config-exec' is called, or 1406applied automatically before sending message. 1407 1408ex. 1409'((\"^To: .*wl@ml.gentei.org\" 1410 (\"From\" . my-from-address-for-wl-list) 1411 (\"Organization\" . my-organization-for-wl-list)) 1412 (reply 1413 \"^To: .*hogehoge@aaa.ne.jp\" 1414 (\"From\" . \"Alternative Address <hogehoge@aaa.ne.jp>\") 1415 my-draft-config-function-hogehoge)) 1416 1417See also variable `wl-draft-parent-folder'." 1418 :type '(repeat (list (sexp :tag "Match") 1419 (repeat 1420 :inline t 1421 (choice (cons (sexp :tag "Field(Variable)") 1422 (sexp :tag "Value")) 1423 (sexp :tag "Function"))))) 1424 :group 'wl-draft 1425 :group 'wl-setting) 1426 1427(defcustom wl-draft-config-matchone nil 1428 "*If non-nil, applied only one element of `wl-draft-config-alist'." 1429 :type 'boolean 1430 :group 'wl-draft 1431 :group 'wl-setting) 1432 1433(defcustom wl-draft-elide-ellipsis "\n[...]\n\n" 1434 "*The string which is inserted for elided text." 1435 :type 'string 1436 :group 'wl-draft) 1437 1438(defcustom wl-template-alist nil 1439 "Alist of template. 1440First element of each list is a string specifies the name of the template. 1441Remaining elements indicate actions. The format of actions is same as that 1442of `wl-draft-config-alist'." 1443 :type '(repeat (list (string :tag "Name") 1444 (repeat 1445 :inline t 1446 (choice (cons (sexp :tag "Field(Variable)") 1447 (sexp :tag "Value")) 1448 (sexp :tag "Function"))))) 1449 :group 'wl-draft 1450 :group 'wl-setting) 1451 1452(defcustom wl-template-visible-select t 1453 "*If non-nil, select template with visible." 1454 :type 'boolean 1455 :group 'wl-draft) 1456 1457(defcustom wl-template-confirm nil 1458 "*If non-nil, require your confirmation when selected template." 1459 :type 'boolean 1460 :group 'wl-draft) 1461 1462(defcustom wl-template-buffer-lines 7 1463 "*Lines of template buffer." 1464 :type 'integer 1465 :group 'wl-draft) 1466 1467;; queued sending. 1468(defcustom wl-draft-enable-queuing t 1469 "*Non-nil enables queued sending." 1470 :type 'boolean 1471 :group 'wl-draft 1472 :group 'wl-pref) 1473 1474(defcustom wl-draft-force-queuing nil 1475 "*Non-nil forces queued sending for mail and news." 1476 :type 'boolean 1477 :group 'wl-draft 1478 :group 'wl-pref) 1479 1480(defcustom wl-draft-force-queuing-mail nil 1481 "*Non-nil forces queued sending for mail." 1482 :type 'boolean 1483 :group 'wl-draft 1484 :group 'wl-pref) 1485 1486(defcustom wl-draft-force-queuing-news nil 1487 "*Non-nil forces queued sending for news." 1488 :type 'boolean 1489 :group 'wl-draft 1490 :group 'wl-pref) 1491 1492(defcustom wl-draft-use-cache nil 1493 "*If non-nil, sending message is cached." 1494 :type 'boolean 1495 :group 'wl-draft 1496 :group 'wl-pref) 1497 1498(defcustom wl-auto-flush-queue t 1499 "*If non-nil, sending queue is flushed when network status is toggled." 1500 :type 'boolean 1501 :group 'wl-draft 1502 :group 'wl-pref) 1503 1504(defcustom wl-draft-reply-buffer-style 'split 1505 "Style of draft buffer for `wl-summary-reply' and `wl-summary-forward'. 1506 1507'keep will use the existing message buffer window for the reply, 1508'full will use a full frame window, 1509'split will split the message window vertically (top-to-bottom), and 1510'split-horiz will split the message window horizontally (side-by-side). 1511If a function is given, it is called with the draft buffer as an 1512argument. 1513For 'split and 'split-horiz if the current window is the folder 1514window, and the summary window is visible, then the summary 1515window is visited (with `wl-folder-jump-to-previous-summary') 1516before any action is taken." 1517 :type '(choice (const :tag "Keep window" keep) 1518 (const :tag "Split window vertically" split) 1519 (const :tag "Split window horizontally" split-horiz) 1520 (const :tag "Full window" full) 1521 (sexp :tag "Use Function")) 1522 :group 'wl-draft) 1523 1524(defcustom wl-draft-buffer-style 'full 1525 "Style of draft buffer for writing new messages (i.e. except 1526for `wl-summary-reply' and `wl-summary-forward'). 1527 1528'keep will use the current window for the new message, 1529'full will use a full frame window, 1530'split will split the current window vertically (top-to-bottom), 1531'msg-split will split the message buffer window vertically (top-to-bottom), 1532'spilt-horiz will split the current window horizontally (side-by-side), and 1533'msg-spilt-horiz will split the message window horizontally (side-by-side). 1534If a function is given, it is called with the draft buffer as an 1535argument. 1536If the message window is not visible then the current window is 1537used. 1538For 'split, 'msg-split, 'split-horiz, and 'msg-split-horiz if the 1539current window is the folder window, and the summary window is 1540visible, then the summary window is visited (with 1541`wl-folder-jump-to-previous-summary') before any action is 1542taken." 1543 :type '(choice (const :tag "Keep window" keep) 1544 (const :tag "Split current window vertically" split) 1545 (const :tag "Split message window vertically" msg-split) 1546 (const :tag "Split current window horizontally" split-horiz) 1547 (const :tag "Split message window horizontally" msg-split-horiz) 1548 (const :tag "Full window" full) 1549 (sexp :tag "Use Function")) 1550 :group 'wl-draft) 1551 1552(defcustom wl-draft-reply-default-position 'body 1553 "Begining position of reply buffer. 1554'body means the top of body. 1555'bottom means the bottom of body. 1556'top means the top of header. 1557\"To\", \"Newsgroups\", \"Subject\" means the position of the header field. 1558You can also set it to a list of setting. 1559" 1560 :type '(choice (repeat 1561 (choice 1562 (const :tag "Top of body" body) 1563 (const :tag "Bottom of body" bottom) 1564 (const :tag "Top of header" top) 1565 (const "To") 1566 (const "Newsgroups") 1567 (const "Subject") 1568 (string :tag "Header Name"))) 1569 (const :tag "Top of body" body) 1570 (const :tag "Bottom of body" bottom) 1571 (const :tag "Top of header" top) 1572 (const "To") 1573 (const "Newsgroups") 1574 (const "Subject") 1575 (string :tag "Header Name")) 1576 :group 'wl-draft) 1577 1578(defcustom wl-draft-queue-save-variables 1579 '(wl-envelope-from wl-from 1580 wl-smtp-posting-server wl-smtp-posting-user wl-smtp-posting-port 1581 wl-smtp-authenticate-type wl-smtp-connection-type 1582 wl-pop-before-smtp-server wl-pop-before-smtp-user wl-pop-before-smtp-port 1583 wl-pop-before-smtp-stream-type wl-pop-before-smtp-authenticate-type 1584 wl-nntp-posting-server wl-nntp-posting-server 1585 wl-nntp-posting-user wl-nntp-posting-port wl-nntp-posting-stream-type) 1586 "*Saving variables in queue info." 1587 :type '(repeat (sexp :tag "Variable")) 1588 :group 'wl-draft) 1589 1590(defcustom wl-draft-sendlog t 1591 "*Keep send state in log if non-nil." 1592 :type 'boolean 1593 :group 'wl-draft) 1594 1595(defcustom wl-draft-sendlog-max-size 20000 1596 "*Max file size of sendlog." 1597 :type '(choice (const :tag "Unlimited" nil) 1598 integer) 1599 :group 'wl-draft) 1600 1601(defcustom wl-summary-default-number-column 5 1602 "Number of columns in summary buffer." 1603 :type 'integer 1604 :group 'wl-summary) 1605 1606(defcustom wl-summary-number-column-alist '(("\\*.*" . 6)) 1607 "Alist of folder and its number column. 1608If no matches, 'wl-summary-default-number-column' is used. 1609ex. 1610'((\"^%inbox@qmail-maildir\" . 9) 1611 (\"^-.*@news-server\" . 6))" 1612 :type '(repeat (cons (regexp :tag "Folder Regexp") integer)) 1613 :group 'wl-summary) 1614 1615(defcustom wl-summary-highlight t 1616 "Non-nil forces Summary buffer to be highlighted." 1617 :type 'boolean 1618 :group 'wl-summary 1619 :group 'wl-highlight) 1620 1621(defcustom wl-summary-lazy-highlight t 1622 "Non-nil forces lazy summary highlighting using `window-scroll-functions'." 1623 :type 'boolean 1624 :group 'wl-summary 1625 :group 'wl-highlight) 1626 1627(defcustom wl-summary-highlight-partial-threshold 1000 1628 "Summary is not highlighted entirely if there are lines more than this value. 1629Available if only `wl-summary-lazy-highlight' is nil." 1630 :type 'integer 1631 :group 'wl-summary 1632 :group 'wl-highlight) 1633 1634(defcustom wl-summary-partial-highlight-above-lines 30 1635 "If Summary has lines more than `wl-summary-highlight-partial-threshold', 1636Summary lines are highlighted partialy above current position. 1637Available if only `wl-summary-lazy-highlight' is nil." 1638 :type 'integer 1639 :group 'wl-summary 1640 :group 'wl-highlight) 1641 1642(defcustom wl-summary-lazy-update-mark t 1643 "Non-nil forces lazy update mark using `window-scroll-functions'." 1644 :type 'boolean 1645 :group 'wl-summary) 1646 1647(defcustom wl-summary-cache-use t 1648 "Non-nil forces wl-summary to use cache file." 1649 :type 'boolean 1650 :group 'wl-summary) 1651 1652(defcustom wl-summary-auto-sync-marks t 1653 "Non-nil forces to synchronize unread/important marks." 1654 :type 'boolean 1655 :group 'wl-summary) 1656 1657(defcustom wl-summary-cache-file ".wl-summary-cache" 1658 "*Cache file for summary mode contents." 1659 :type 'file 1660 :group 'wl-summary) 1661(defcustom wl-summary-view-file ".wl-summary-view" 1662 "*Current summary view." 1663 :type 'file 1664 :group 'wl-summary) 1665(defcustom wl-thread-top-file ".wl-thread-top" 1666 "*Current thread top entity... obsolete." 1667 :type 'file 1668 :group 'wl-summary) 1669(defcustom wl-thread-entity-file ".wl-thread-entity" 1670 "*Thread entities." 1671 :type 'file 1672 :group 'wl-summary) 1673(defcustom wl-thread-entity-list-file ".wl-thread-entity-list" 1674 "*Thread top entity list." 1675 :type 'file 1676 :group 'wl-summary) 1677 1678(defcustom wl-print-buffer-function 'lpr-buffer 1679 "A function to print current buffer." 1680 :type 'function 1681 :group 'wl-pref) 1682 1683(defcustom wl-ps-print-buffer-function 1684 (if window-system 'ps-print-buffer-with-faces 'ps-print-buffer) 1685 "A function to print current buffer with ps-print." 1686 :type 'function 1687 :group 'wl-pref) 1688 1689;;;; Preferences 1690(defcustom wl-use-petname t 1691 "*Display petname in summary and default citation title." 1692 :type 'boolean 1693 :group 'wl-pref) 1694 1695(defcustom wl-use-folder-petname 1696 '(modeline) 1697 "*List of situation using folder petname. 1698Allowed situations are: 1699 modeline : displayed on modeline. 1700 ask-folder : displayed on minibuffer when ask folder. 1701 read-folder : can used for completion at `wl-summary-read-folder'." 1702 :type '(set (const modeline) 1703 (const ask-folder) 1704 (const read-folder)) 1705 :group 'wl-summary 1706 :group 'wl-pref) 1707 1708(defcustom wl-folder-petname-alist nil 1709 "A list of (realname . petname)." 1710 :type '(repeat (cons (string :tag "Realname") (string :tag "Petname"))) 1711 :group 'wl-folder) 1712 1713(defcustom wl-summary-weekday-name-lang 1714 (if (string-equal "Japanese" 1715 (symbol-value 'current-language-environment)) 1716 "ja" "en") 1717 "*Language to display week day." 1718 :type '(choice (const "ja") 1719 (const "en") 1720 (const "fr") 1721 (const "de") 1722 (string :tag "Other")) 1723 :group 'wl-summary 1724 :group 'wl-pref) 1725 1726(defcustom wl-message-id-use-message-from 1727 (if (boundp 'wl-message-id-use-wl-from) 1728 wl-message-id-use-wl-from t) 1729 "When non-nil, use From: header's field value for domain part of 1730Message-ID preferably." 1731 :type 'boolean 1732 :group 'wl-pref) 1733 1734(defcustom wl-message-id-hash-function nil 1735 "Indicate hash function for the local part when Message-ID is made 1736from mail address. Hash function receives a string and returns 1737hashed string. Nil means the local part is not hashed." 1738 :type '(choice (const :tag "as is" nil) 1739 function) 1740 :group 'wl-pref) 1741 1742(defcustom wl-local-domain nil 1743 "*Domain part of this client (without hostname). 1744Set this if (system-name) does not return FQDN." 1745 :type '(choice (const :tag "Use System Name" nil) 1746 string) 1747 :group 'wl-pref) 1748 1749(defcustom wl-message-id-domain nil 1750 "*Specific domain part of Message-ID." 1751 :type '(choice (const :tag "Use System Name" nil) 1752 string) 1753 :group 'wl-pref) 1754 1755(defcustom wl-unique-id-suffix ".wl" 1756 "*Specific string in generated Message-ID 1757which appear just before @ (domain based) or % (mail address based)." 1758 :type 'string 1759 :group 'wl-pref) 1760 1761(defcustom wl-break-pages t 1762 "*Break Pages at ^L." 1763 :type 'boolean 1764 :group 'wl-pref) 1765 1766(defcustom wl-message-auto-reassemble-message/partial nil 1767 "*Reassemble message/partial messages automatically on show when non-nil." 1768 :type 'boolean 1769 :group 'wl-pref) 1770 1771(defcustom wl-message-use-header-narrowing t 1772 "Use header narrowing when non-nil." 1773 :type 'boolean 1774 :group 'wl-pref) 1775 1776(defcustom wl-message-header-narrowing-fields '("to" "cc") 1777 "A list of field name to enable header narrowing." 1778 :type '(repeat string) 1779 :group 'wl-pref) 1780 1781(defcustom wl-message-header-narrowing-lines 4 1782 "Line number to enable the header narrowing." 1783 :type 'integer 1784 :group 'wl-pref) 1785 1786(defcustom wl-message-header-narrowing-string "..." 1787 "A string used for header narrowing truncation." 1788 :type 'string 1789 :group 'wl-pref) 1790 1791(defvar wl-message-mode-line-format-spec-alist 1792 '((?f (if (memq 'modeline wl-use-folder-petname) 1793 (wl-folder-get-petname wl-message-buffer-cur-folder) 1794 wl-message-buffer-cur-folder)) 1795 (?m (upcase (symbol-name 1796 (wl-message-display-type-property 1797 wl-message-buffer-cur-display-type 1798 :mime)))) 1799 (?F wl-message-buffer-flag-indicator) 1800 (?n wl-message-buffer-cur-number)) 1801 "An alist of format specifications for message buffer's mode-lines. 1802Each element is a list of following: 1803\(SPEC STRING-EXP) 1804SPEC is a character for format specification. 1805STRING-EXP is an expression to get string to insert.") 1806 1807(defcustom wl-message-mode-line-format "Wanderlust: << %f / %n %F>> [%m]" 1808 "*A format string for message buffer's mode-line of Wanderlust. 1809It may include any of the following format specifications 1810which are replaced by the given information: 1811 1812%f The folder name. 1813%n The number of the message. 1814%m The MIME analysis status. 1815%F The global flag indicator." 1816 :group 'wl-pref 1817 :type 'string) 1818 1819(defcustom wl-message-truncate-lines truncate-lines 1820 "*Truncate lines in Message Buffer." 1821 :type 'boolean 1822 :group 'wl-pref) 1823 1824(defcustom wl-draft-truncate-lines truncate-lines 1825 "*Truncate lines in Draft Buffer." 1826 :type 'boolean 1827 :group 'wl-draft 1828 :group 'wl-pref) 1829 1830(defcustom wl-message-scroll-amount nil 1831 "*Scroll amount by SPC key." 1832 :type '(choice (const :tag "scrolling by screenfuls" nil) 1833 integer) 1834 :group 'wl-pref) 1835 1836(defcustom wl-message-window-size '(1 . 4) 1837 "*Size of summary and message window. cons cell of (Summary : Message)." 1838 :type '(cons integer integer) 1839 :group 'wl-pref) 1840 1841(defcustom wl-message-sort-field-list '("Return-Path" "Received" "^To" "^Cc" 1842 "Newsgroups" "Subject" "^From") 1843 "*Sort order of header fields. Each elements are regexp of field name." 1844 :type '(repeat (string :tag "Field Regexp")) 1845 :group 'wl-pref 1846 :group 'wl-setting) 1847 1848(defcustom wl-message-ignored-field-list nil 1849 "All fields that match this list will be hidden in message buffer. 1850Each elements are regexp of field-name. 1851You can specify exceptions by `wl-message-visible-field-list'." 1852 :type '(repeat (string :tag "Field Regexp")) 1853 :group 'wl-pref 1854 :group 'wl-setting) 1855 1856(defcustom wl-message-visible-field-list nil 1857 "All fields that match this list will be displayed in message buffer. 1858Each elements are regexp of field-name. 1859This variable overwhelm `wl-message-ignored-field-list' settings." 1860 :type '(repeat (string :tag "Field Regexp")) 1861 :group 'wl-pref 1862 :group 'wl-setting) 1863 1864(defcustom wl-message-header-button-alist 1865 '(("^\\(References\\|Message-Id\\|In-Reply-To\\):" 1866 "<[^>\n ]+>" 1867 0 wl-message-button-refer-article 0) 1868 ("^[^:]+:" 1869 "\\(<\\(url: \\)?news:\\([^>\n ]*\\)>\\)" 1870 1 wl-message-button-refer-article 3)) 1871 "Alist of headers and regexps to match buttons in message headers." 1872 :type '(repeat 1873 (list (regexp :tag "Header") 1874 regexp 1875 (integer :tag "Button") 1876 (function :tag "Callback") 1877 (repeat :tag "Data" 1878 :inline t 1879 (integer :tag "Regexp group")))) 1880 :group 'wl-pref) 1881 1882(defcustom wl-message-body-button-alist 1883 '(("<mailto:[^>]+>" 0 'ignore 0 1024) 1884 ("<[^>\n ]+@[^>\n ]+>" 0 wl-message-button-refer-article 0 1024)) 1885 "Alist of regexps to match buttons in message body." 1886 :type '(repeat 1887 (list regexp 1888 (integer :tag "Button") 1889 (function :tag "Callback") 1890 (repeat :tag "Data" 1891 :inline t 1892 (integer :tag "Regexp group")) 1893 (integer :tag "Max Length"))) 1894 :group 'wl-pref) 1895 1896(defcustom wl-folder-window-width 20 1897 "*Width of folder window." 1898 :type 'integer 1899 :group 'wl-folder 1900 :group 'wl-pref) 1901 1902(defcustom wl-summary-recenter t 1903 "*Recenter on redisplay." 1904 :type 'boolean 1905 :group 'wl-summary 1906 :group 'wl-pref) 1907 1908(defcustom wl-folder-use-frame nil 1909 "*Use dedicated frame for folder mode if non-nil." 1910 :type 'boolean 1911 :group 'wl-pref) 1912 1913(defcustom wl-summary-use-frame nil 1914 "*Use dedicated frame for each folder summary if non-nil." 1915 :type 'boolean 1916 :group 'wl-pref) 1917 1918(defcustom wl-stay-folder-window nil 1919 "*Stay folder window when folder is selected if non-nil." 1920 :type 'boolean 1921 :group 'wl-pref) 1922 1923(defcustom wl-reply-subject-prefix "Re: " 1924 "*Prefix of the subject of the replied message. 1925The value is string or string valued function to be evalueted in the target 1926message buffer." 1927 :type '(choice string function) 1928 :group 'wl-draft 1929 :group 'wl-pref) 1930 1931(defcustom wl-forward-subject-prefix "Forward: " 1932 "*Prefix of the subject of the forwarded message. 1933The value is string or string valued function to be evalueted in the target 1934message buffer." 1935 :type '(choice string function) 1936 :group 'wl-draft 1937 :group 'wl-pref) 1938 1939(defcustom wl-draft-reply-use-address-with-full-name t 1940 "*Use address with full-name in the draft of replied message." 1941 :type 'boolean 1942 :group 'wl-pref 1943 :group 'wl-draft) 1944 1945(defcustom wl-subject-re-prefix-regexp "^[ \t]*\\([Rr][Ee][:>][ \t]*\\)*[ \t]*" 1946 "*Regexp matching \"Re: \" in the subject line." 1947 :type 'regexp 1948 :group 'wl-draft 1949 :group 'wl-pref) 1950 1951(defcustom wl-subject-forward-prefix-regexp "^[ \t]*\\(\\([Ff][Oo][Rr][Ww][Aa][Rr][Dd]\\|[Ff][Ww][Dd]\\|[Ff][Ww]\\)[:>][ \t]*\\)*[ \t]*" 1952 "*Regexp matching \"Forward: \", \"Fwd: \", or \"Fw: \" in the subject line." 1953 :type 'regexp 1954 :group 'wl-draft 1955 :group 'wl-pref) 1956 1957(defcustom wl-folder-many-unsync-threshold 70 1958 "*Folders which contains messages more than this number are highlighted 1959with wl-highlight-folder-many-face." 1960 :type 'integer 1961 :group 'wl-folder 1962 :group 'wl-pref) 1963 1964(defcustom wl-fcc nil 1965 "*Folder Carbon Copy target initially added at creating draft buffer." 1966 :type '(choice (const :tag "disable" nil) 1967 string function) 1968 :group 'wl-draft 1969 :group 'wl-pref) 1970 1971(defcustom wl-fcc-force-as-read nil 1972 "*If non-nil, mark copied message as read." 1973 :type 'boolean 1974 :group 'wl-draft 1975 :group 'wl-pref) 1976 1977(defcustom wl-bcc nil 1978 "*Blind Carbon Copy target initially added at creating draft buffer." 1979 :type '(choice (const :tag "disable" nil) 1980 string) 1981 :group 'wl-draft 1982 :group 'wl-pref) 1983 1984(defcustom wl-folder-desktop-name "Desktop" 1985 "*An implicit name of the folder top entity." 1986 :type 'string 1987 :group 'wl-folder 1988 :group 'wl-pref) 1989 1990(defcustom wl-summary-indent-length-limit 46 1991 "*Limit of indent length for thread. Nil means unlimited" 1992 :type '(choice (const :tag "Unlimited" nil) 1993 integer) 1994 :group 'wl-summary 1995 :group 'wl-pref) 1996 1997(defcustom wl-summary-max-thread-depth 30 1998 "*If thread depth of the message is larger than this value, divide it." 1999 :type '(choice (const :tag "Unlimited" nil) 2000 integer) 2001 :group 'wl-summary 2002 :group 'wl-pref) 2003 2004(defcustom wl-summary-no-from-message "nobody@nowhere?" 2005 "*A string displayed in summary when no from field exists." 2006 :type 'string 2007 :group 'wl-summary) 2008 2009(defcustom wl-summary-no-subject-message "(WL:No Subject in original.)" 2010 "*A string displayed in summary when no subject field exists." 2011 :type 'string 2012 :group 'wl-summary) 2013 2014(defcustom wl-summary-cancel-message "I'd like to cancel my message." 2015 "*The body content of a cancel message." 2016 :type 'string 2017 :group 'wl-summary) 2018 2019(defcustom wl-summary-width 80 2020 "*Set summary line width if non nil." 2021 :type '(choice (const :tag "Don't truncate" nil) 2022 integer) 2023 :group 'wl-summary 2024 :group 'wl-pref) 2025 2026(defcustom wl-summary-print-argument-within-window nil 2027 "*If non-nil, always print argument right side of window." 2028 :type 'boolean 2029 :group 'wl-summary 2030 :group 'wl-pref) 2031 2032(defcustom wl-summary-pick-field-default "Body" 2033 "*Default field for pick." 2034 :type '(radio (const "From") 2035 (const "Subject") 2036 (const "To") 2037 (const "Cc") 2038 (const "Body") 2039 (const "Raw-Body") 2040 (const "Since") 2041 (const "Before") 2042 (const "Last") 2043 (const "First") 2044 (string :tag "Other")) 2045 :group 'wl-summary) 2046 2047(defcustom wl-mime-charset 'x-ctext 2048 "*MIME Charset for summary and message." 2049 :type 'symbol 2050 :group 'wl-summary 2051 :group 'wl-pref) 2052 2053(defcustom wl-generate-mailer-string-function 'wl-generate-user-agent-string 2054 "A function for creating User-Agent field string." 2055 :type 'function 2056 :group 'wl-draft) 2057 2058(defcustom wl-highlight-background-mode 'dark 2059 "*Background mode of highlight (for Old Emacsen). 'dark or 'light." 2060 :type '(radio (const dark) 2061 (const light)) 2062 :group 'wl-highlight) 2063 2064(defcustom wl-highlight-x-face-function nil 2065 "A function to display X-Face." 2066 :type 'function 2067 :group 'wl-highlight) 2068 2069(defcustom wl-qmail-inject-program "/var/qmail/bin/qmail-inject" 2070 "Location of the qmail-inject program." 2071 :type '(string :tag "Program") 2072 :group 'wl-draft) 2073 2074(defcustom wl-qmail-inject-args nil 2075 "Arguments passed to qmail-inject programs. 2076This should be a list of strings, one string for each argument. 2077 2078For e.g., if you wish to set the envelope sender address so that bounces 2079go to the right place or to deal with listserv's usage of that address, you 2080might set this variable to '(\"-f\" \"you@some.where\")." 2081 :type '(repeat (string :tag "Argument")) 2082 :group 'wl-draft) 2083 2084(defcustom wl-rejected-letter-start 2085 "^[\t ]*-+[\t ]+\\(\\(original\\|\\(\\(the \\)?unsent\\)\\) message\\( follows\\)?[\t ]+-+[\t ]*\\|Below this line is a copy of the message\\..*\\)$" 2086 "Regexp specifying the beginning of the wrapper around a returned letter. 2087This wrapper is generated by the mail system when rejecting a letter." 2088 :type 'regexp 2089 :group 'wl-draft) 2090 2091(defcustom wl-ignored-forwarded-headers "\\(received\\|return-path\\|x-uidl\\)" 2092 "*All headers that match this regexp will be deleted when forwarding a message." 2093 :type 'regexp 2094 :group 'wl-draft) 2095 2096(defcustom wl-ignored-resent-headers "\\(return-receipt\\|[bdf]cc\\)" 2097 "*All headers that match this regexp will be deleted when resending a message." 2098 :type 'regexp 2099 :group 'wl-draft) 2100 2101(defcustom wl-auto-save-drafts-interval 300 2102 "Idle interval in seconds to save draft buffers automatically. 2103If you don't want to use this feature, set this to nil." 2104 :type '(choice (const :tag "Don't use this feature" nil) 2105 (number :tag "Secs")) 2106 :group 'wl-draft) 2107 2108(defcustom wl-draft-preview-attributes t 2109 "Non-nil forces to preview the attributes in the `wl-draft-preview-message'. 2110Attributes specified in the `wl-draft-preview-attributes-list' are displayed." 2111 :type 'boolean 2112 :group 'wl-draft) 2113 2114(defcustom wl-draft-preview-attributes-list '((mail recipients 2115 envelope-from 2116 send-mail-method 2117 smtp-settings 2118 pop-before-smtp-settings 2119 pgp-processings) 2120 (news newsgroups 2121 nntp-method 2122 nntp-settings 2123 pgp-processings)) 2124 "*Attribute symbols to display in the draft preview. 2125Candidates are following: 2126`recipients' 2127`envelope-from' 2128`send-mail-method' 2129`smtp-posting-server' 2130`smtp-posting-port' 2131`smtp-settings' 2132`pop-before-smtp-settings' 2133`newsgroups' 2134`nntp-posting-server' 2135`nntp-posting-port' 2136Also variables which begin with `wl-' can be specified 2137\(`wl-' have to be removed\)" 2138 :type '(choice (repeat (cons (choice (const :tag "Mail" mail) 2139 (const :tag "News" news)) 2140 (repeat symbol))) 2141 (repeat symbol)) 2142 :group 'wl-draft) 2143 2144(defcustom wl-draft-preview-attributes-buffer-lines t 2145 "Buffer height for the draft attribute preview. Non-integer 2146means decide height from number of attributes automatically. 2147Negative-integer means add absolute value to automated height." 2148 :type '(choice integer 2149 (const :tag "Automated" t)) 2150 :group 'wl-draft) 2151 2152(defcustom wl-draft-preview-attributes-buffer-name "*Preview Attributes*" 2153 "*Buffer name for the draft attribute preview." 2154 :type 'string 2155 :group 'wl-draft) 2156 2157(defcustom wl-refile-default-from-folder "+from" 2158 "*Folder name to refile by `wl-refile-guess-by-from'." 2159 :type '(string :tag "Folder") 2160 :group 'wl-pref) 2161 2162(defcustom wl-summary-auto-refile-skip-marks 2163 (list wl-summary-new-uncached-mark 2164 wl-summary-new-cached-mark 2165 wl-summary-unread-uncached-mark 2166 wl-summary-unread-cached-mark) 2167 "Persistent marks to skip auto-refiling." 2168 :type '(repeat (string :tag "Mark")) 2169 :group 'wl-summary) 2170 2171(defcustom wl-summary-reserve-mark-list 2172 (list "o" "O" "D" "d" "i") 2173 "If a message is already marked as temporal marks in this list, 2174the message is not marked by any mark command." 2175 :type '(repeat (string :tag "Temp-Mark")) 2176 :group 'wl-summary) 2177 2178(defcustom wl-summary-skip-mark-list 2179 (list "D" "d") 2180 "If a message is already marked as temporal marks in this list, 2181the message is skipped at cursor move." 2182 :type '(repeat (string :tag "Temp-Mark")) 2183 :group 'wl-summary) 2184 2185(defcustom wl-summary-incorporate-marks 2186 (list wl-summary-new-uncached-mark 2187 wl-summary-unread-uncached-mark) 2188 "Persistent marks to prefetch at `wl-summary-incorporate'." 2189 :type '(repeat (string :tag "Mark")) 2190 :group 'wl-summary) 2191 2192(defcustom wl-refile-rule-alist nil 2193 "Refile rule alist. 2194e.x. 2195'((\"From\" 2196 (\"teranisi@isl.ntt.co.jp\" . \"+teranisi\")) 2197 (\"x-ml-name\" 2198 (\"^Wanderlust\" . \"+wl\") 2199 (\"^Elips\" . \"+elips\")))" 2200 :type '(repeat (list (string :tag "Field") 2201 (repeat :inline t 2202 (cons (regexp :tag "Value") 2203 (string :tag "Folder"))))) 2204 :group 'wl-pref) 2205 2206(defcustom wl-strict-diff-folders nil 2207 "List of regexps matching folders of which Wanderlust seriously 2208counts unsync messages." 2209 :type '(choice (const :tag "Off" nil) 2210 (repeat (regexp :tag "Folder Regexp"))) 2211 :group 'wl-folder) 2212 2213(defcustom wl-folder-use-server-diff t 2214 "Checked unread message number on IMAP4 server. 2215Only IMAP4 folders have an effect." 2216 :type 'boolean 2217 :group 'wl-folder) 2218 2219(defcustom wl-force-fetch-folders nil 2220 "Non-nil forces to fetch subfolders when user opened an 'access' folder." 2221 :type '(choice (const :tag "off" nil) 2222 (const :menu-tag "on" t) 2223 (repeat (regexp :tag "Folder Regexp"))) 2224 :group 'wl-folder) 2225 2226(defcustom wl-auto-check-folder-name nil 2227 "*A folder, a group or a list of folders and groups specified which 2228will be automatically checked at the startup time." 2229 :type '(choice (string :tag "Folder") 2230 (repeat (string :tag "Folder")) 2231 (const none)) 2232 :group 'wl-folder) 2233 2234(defcustom wl-auto-uncheck-folder-list '("\\$.*") 2235 "All folders that match this list won't be checked at the startup 2236time even if they are embedded in some groups specified by 2237wl-auto-check-folder-name. 2238Those folders are also skipped when you check on the Desktop. 2239This value is preceded by wl-auto-check-folder-list. 2240Each elements are regexp of folder name." 2241 :type '(repeat (regexp :tag "Folder Regexp")) 2242 :group 'wl-folder) 2243 2244(defcustom wl-auto-check-folder-list nil 2245 "A list of patterns for exceptional folders against 2246wl-auto-uncheck-folder-list. 2247Each elements are regexp of folder name." 2248 :type '(repeat (regexp :tag "Folder Regexp")) 2249 :group 'wl-folder) 2250 2251(defcustom wl-show-plug-status-on-modeline t 2252 "If it is non-nil, show plugged status in modeline." 2253 :type 'boolean 2254 :group 'wl-setting) 2255 2256(defcustom wl-plug-state-indicator-on " [ON] " 2257 "String used to show plugged status ON." 2258 :type 'string 2259 :group 'wl-setting) 2260 2261(defcustom wl-plug-state-indicator-off " [--] " 2262 "String used to show plugged status OFF." 2263 :type 'string 2264 :group 'wl-setting) 2265 2266(defcustom wl-biff-check-folder-list nil 2267 "All folders that include this list are automatically checked 2268every intervals specified by `wl-biff-check-interval'." 2269 :type '(repeat (string :tag "Folder")) 2270 :group 'wl-setting) 2271 2272(defcustom wl-biff-check-interval 40 2273 "Number of seconds between updates of new mails in the mode line." 2274 :type 'number 2275 :group 'wl-setting) 2276 2277(defcustom wl-biff-check-delay 0 2278 "After interval specified by `wl-biff-check-interval', 2279automatically checking new mail will start when Emacs keeps idle 2280longer than specified seconds by this varaible. 2281It has no effect on the case which `wl-biff-use-idle-timer' is non-nil." 2282 :type 'number 2283 :group 'wl-setting) 2284 2285(defcustom wl-biff-use-idle-timer nil 2286 "Non-nil means that Emacs will not use normal timer for wl-biff." 2287 :type 'boolean 2288 :group 'wl-setting) 2289 2290(defcustom wl-biff-state-indicator-on 2291 ;; Youbin mark 2292 (decode-coding-string (read "\"[\e$B\\\")\e(B]\"") 'iso-2022-jp) 2293 "String used to show biff status ON." 2294 :type 'string 2295 :group 'wl-setting) 2296 2297(defcustom wl-biff-state-indicator-off "[‐]" ;; Japanese short hyphen 2298 "String used to show biff status OFF." 2299 :type 'string 2300 :group 'wl-setting) 2301 2302(defcustom wl-mode-line-display-priority-list '(biff plug title) 2303 "Displaying order of items to be shown in modeline. The first item will 2304be placed in the leftmost. The significant items are `biff' and `plug'; 2305otherwise, e.g. `title', corresponds to the things except for the biff 2306staus nor the plugged status. The default order is '(biff plug title) 2307even if the value of this option is set to nil. Here are some samples: 2308 2309;; Plugged status first: 2310\(setq wl-mode-line-display-priority-list '(plug)) 2311 2312;; Biff status, Title of Wanderlust, Plugged status: 2313\(setq wl-mode-line-display-priority-list '(biff title plug)) 2314 2315" 2316 :type '(repeat (radio (const :format "%v " biff) 2317 (const :format "%v " plug) 2318 (sexp :tag "Other" :value title))) 2319 :group 'wl-setting) 2320 2321(defcustom wl-interactive-send t 2322 "*If non-nil, require your confirmation when sending draft message." 2323 :type 'boolean 2324 :group 'wl-pref 2325 :group 'wl-setting) 2326 2327(defcustom wl-interactive-exit t 2328 "*If non-nil, require your confirmation when exiting WL." 2329 :type 'boolean 2330 :group 'wl-pref) 2331 2332(defcustom wl-summary-move-order 'unread 2333 "*The order of priority when move in summary mode. 2334If this variable is `unread', precede \"U\", \"u\", \"N\", \"n\" mark. 2335If this variable is `new', precede \"N\", \"n\" mark." 2336 :type '(radio (const new) 2337 (const unread)) 2338 :group 'wl-summary 2339 :group 'wl-setting) 2340 2341(defvar wl-summary-move-direction-downward t) 2342 2343(defcustom wl-summary-move-direction-toggle t 2344 "*If non-nil, search direction for the next message will be determined 2345depends on previous search direction. 2346It uses wl-summary-move-direction-downward as a direction flag." 2347 :type 'boolean 2348 :group 'wl-summary) 2349 2350(defcustom wl-auto-select-first nil 2351 "*If non-nil, display selected first message when enter summary." 2352 :type 'boolean 2353 :group 'wl-pref 2354 :group 'wl-setting) 2355 2356(defcustom wl-auto-prefetch-first nil 2357 "*If non-nil, prefetch selected first message when enter summary." 2358 :type 'boolean 2359 :group 'wl-pref 2360 :group 'wl-setting) 2361 2362(defcustom wl-auto-select-next nil 2363 "*If non-nil, offer to go to the next folder from the end of the previous. 2364If the value is the symbol `unread', go to the next folder 2365that no unread message exists. If the value is the symbol `skip-no-unread', 2366skip the folder that no unread message exists. 2367 2368See also variable `wl-summary-next-no-unread-command'." 2369 :type '(radio (const :tag "off" nil) 2370 (const :tag "on" t) 2371 (const unread) 2372 (const skip-no-unread)) 2373 :group 'wl-pref 2374 :group 'wl-setting) 2375 2376(defcustom wl-message-popup-buffers '(mime-echo-buffer-name epa-info-buffer) 2377 "*List of buffer or name which is popped up with message buffer." 2378 :type '(repeat (choice (symbol :tag "Variable") 2379 (string :tag "Buffer name"))) 2380 :group 'wl-setting) 2381 2382(defcustom wl-message-buffer-name " *WL:Message*" 2383 "*Buffer name for message buffers." 2384 :type 'string 2385 :group 'wl-pref 2386 :group 'wl-setting) 2387 2388(defcustom wl-message-buffer-prefetch-folder-type-list '(imap4 nntp) 2389 "*All folder types that match this list prefetch next message, 2390and reserved buffer cache." 2391 :type `(choice (const :tag "all" t) 2392 (const :tag "never" nil) 2393 (set (const localdir) 2394 (const localnews) 2395 (const maildir) 2396 (const imap4) 2397 (const nntp) 2398 (const pop3) 2399 (const shimbun) 2400 (const search) 2401 (const archive) 2402 (const mark) 2403 (const cache))) 2404 :group 'wl-pref) 2405 2406(defcustom wl-message-buffer-prefetch-folder-list nil 2407 "*All folders that match this list prefetch next message, 2408and reserved buffer cache. 2409e.x. 2410'(\"^[-%]\")" 2411 :type '(repeat (regexp :tag "Folder Regexp")) 2412 :group 'wl-pref) 2413 2414(defcustom wl-message-buffer-prefetch-depth 1 2415 "*Depth of buffer prefetch in summary mode." 2416 :type 'integer 2417 :group 'wl-pref) 2418 2419(defcustom wl-message-buffer-prefetch-idle-time 1 2420 "*Idle time of buffer prefetch." 2421 :type 'number 2422 :group 'wl-pref) 2423 2424(defcustom wl-message-buffer-prefetch-threshold 30000 2425 "*Quit forward cache prefetching if message size is larger than this value." 2426 :type 'integer 2427 :group 'wl-pref) 2428 2429(defcustom wl-summary-always-sticky-folder-list nil 2430 "All folders that match this list has sticky summary. 2431Each elements are regexp of folder name." 2432 :type '(radio (const :tag "none" nil) 2433 (const :tag "all" t) 2434 (repeat (regexp :tag "Folder Regexp"))) 2435 :group 'wl-pref) 2436 2437(defcustom wl-summary-force-prefetch-folder-list nil 2438 "All folders that match this list are prefetched. 2439Each elements are regexp of folder name." 2440 :type '(radio (const :tag "none" nil) 2441 (const :tag "all" t) 2442 (repeat (regexp :tag "Folder Regexp"))) 2443 :group 'wl-pref) 2444 2445(defcustom wl-no-save-folder-list '("^/.*$" "^\\[.*$") 2446 "All folders that match this list won't save its msgdb. 2447Each elements are regexp of folder name." 2448 :type '(repeat (regexp :tag "Folder Regexp")) 2449 :group 'wl-pref) 2450 2451(defcustom wl-save-folder-list nil 2452 "All folders that match this list save its msgdb. 2453Each elements are regexp of folder name." 2454 :type '(repeat (regexp :tag "Folder Regexp")) 2455 :group 'wl-pref) 2456 2457(defcustom wl-folder-mime-charset-alist 2458 '(("^-alt\\.chinese" . big5) 2459 ("^-relcom\\." . koi8-r) 2460 ("^-tw\\." . big5) 2461 ("^-han\\." . euc-kr) 2462 ("@sponichi" . shift_jis) 2463 ("@2ch" . shift_jis)) 2464 "Charset alist. If no match, `wl-mime-charset' is used." 2465 :type '(repeat (cons (regexp :tag "Folder Regexp") (symbol :tag "Charset"))) 2466 :group 'wl-summary 2467 :group 'wl-pref) 2468 2469(defcustom wl-folder-weekday-name-lang-alist 2470 '(("^-alt\\.chinese" . "en") 2471 ("^-relcom\\." . "en") 2472 ("^-tw\\." . "en") 2473 ("^-han\\." . "en")) 2474 "Weekday name lang alist. 2475If no match, `wl-summary-weekday-name-lang' is used. 2476e.x. 2477'((\"xemacs-beta$\" . \"en\") 2478 (\"^-fj\" . \"ja\"))" 2479 :type '(repeat (cons (regexp :tag "Folder Regexp") 2480 (choice (const "ja") 2481 (const "en") 2482 (const "fr") 2483 (const "de") 2484 (string :tag "Other")))) 2485 :group 'wl-pref) 2486 2487(defcustom wl-folder-thread-indent-set-alist 2488 '(("^-alt\\.chinese" . (2 "+" "+" "|" "-" " ")) 2489 ("^-relcom\\." . (2 "+" "+" "|" "-" " ")) 2490 ("^-tw\\." . (2 "+" "+" "|" "-" " ")) 2491 ("^-han\\." . (2 "+" "+" "|" "-" " "))) 2492 "Thread indent set alist. 2493If no match, following indent set is used. 2494\(wl-thread-indent-level 2495 wl-thread-have-younger-brother-str 2496 wl-thread-youngest-child-str 2497 wl-thread-vertical-str 2498 wl-thread-horizontal-str 2499 wl-thread-space-str) 2500e.x. 2501'((\"xemacs-beta$\" . (2 \"+\" \"+\" \"|\" \"-\" \" \")))" 2502 :type '(repeat (cons (regexp :tag "Folder Regexp") 2503 (group (integer :tag "Indent") 2504 (string :tag "Yonger Brother") 2505 (string :tag "Yonger Child") 2506 (string :tag "Vertical") 2507 (string :tag "Horizontal") 2508 (string :tag "Space")))) 2509 :group 'wl-pref) 2510 2511(defcustom wl-folder-sync-range-alist 2512 (list (cons 'wl-require-update-all-folder-p "all")) 2513 "*Default sync range alist. If no matches, `wl-default-sync-range' is used." 2514 :type '(repeat (cons (choice (regexp :tag "Folder Regexp") 2515 (symbol :tag "A function")) 2516 (choice (const "update") 2517 (const "all") 2518 (const "rescan") 2519 (const "no-sync") 2520 (const :tag "none" nil)))) 2521 :group 'wl-pref) 2522 2523(defcustom wl-default-sync-range "update" 2524 "*Default sync range." 2525 :type '(choice (const "update") 2526 (const "all") 2527 (const "rescan") 2528 (const "no-sync") 2529 (const :tag "none" nil)) 2530 :group 'wl-pref) 2531 2532(defcustom wl-ask-range t 2533 "*If non-nil, ask for a range for summary synchronization. 2534If nil, always use default." 2535 :type 'boolean 2536 :group 'wl-pref) 2537 2538(defcustom wl-folder-process-duplicates-alist nil 2539 "Specify process type of duplicated messages. 2540It should be a list of cons cell like: (REGEXP . TYPE) 2541REGEXP is a regular expression string of folder name. 2542TYPE is one of the symbols `hide' or `read'. 2543`hide' means hide duplicated messages. 2544`read' means mark as read duplicated messages. 2545If TYPE is nil, do nothing for duplicated messages." 2546 :type '(repeat (cons (regexp :tag "Folder regexp") 2547 (choice (const :tag "Hide" hide) 2548 (const :tag "Mark as read" read)))) 2549 :group 'wl-folder) 2550 2551(defcustom wl-folder-move-cur-folder nil 2552 "*Non-nil, move cursor to current folder on folder buffer when goto folder." 2553 :type 'boolean 2554 :group 'wl-folder) 2555 2556(defcustom wl-folder-check-async t 2557 "*Check the folder asynchronous." 2558 :type 'boolean 2559 :group 'wl-folder) 2560 2561(defcustom wl-folder-notify-deleted nil 2562 "*Non-nil, display negative number on folder-mode when message is deleted 2563in folder. If the value is 'sync, msgdb would be synchronized." 2564 :type '(choice (const :tag "off" nil) 2565 (const :tag "on" t) 2566 (const sync)) 2567 :group 'wl-folder) 2568 2569(defcustom wl-summary-exit-next-move t 2570 "*Non-nil, move to next-unsync or next-entity when exit summary." 2571 :type 'boolean 2572 :group 'wl-summary) 2573 2574(defcustom wl-summary-next-no-unread-command 2575 '(wl-summary-read wl-summary-down wl-summary-up) 2576 "*Command list available when the value of `wl-auto-select-next' is 'unread 2577or 'skip-no-unread." 2578 :type '(repeat function) 2579 :group 'wl-summary) 2580 2581(defcustom wl-summary-search-via-nntp 'confirm 2582 "*Non-nil, search message via nntp after `wl-summary-jump-to-msg-by-message-id'. 2583If the value is 'confirm, confirm before search, 'force to search via nntp 2584regardless of current folder type." 2585 :type '(choice (const :tag "confirm" confirm) 2586 (const :tag "always" force) 2587 (const :tag "in nntp folder" t) 2588 (const :tag "never" nil)) 2589 :group 'wl-summary) 2590 2591(defcustom wl-summary-keep-cursor-command 2592 '(wl-summary-goto-folder wl-summary-goto-last-visited-folder) 2593 "*Command list to keep cursor position when folder is changed to 2594already existing summary." 2595 :type '(repeat function) 2596 :group 'wl-summary) 2597 2598(defcustom wl-summary-showto-folder-regexp nil 2599 "Regexp specifying the folder that shows the To (or Newsgroups) field as 2600Sender information in summary mode. It is effective when the value of 2601`wl-summary-from-function' is `wl-summary-default-from'" 2602 :type '(choice (const :tag "none" nil) 2603 regexp) 2604 :group 'wl-summary) 2605 2606(defcustom wl-summary-save-file-suffix ".eml" 2607 "Suffix for the saved file name." 2608 :type 'string 2609 :group 'wl-summary) 2610 2611(defcustom wl-summary-resend-use-cache nil 2612 "*Non-nil to enable offline resending by using file cache. 2613Note that strict message identity is not guaranteed when cache is used." 2614 :type 'boolean 2615 :group 'wl-summary) 2616 2617(defcustom wl-folder-removed-mark "#<removed>" 2618 "Mark for removed folder." 2619 :type 'string 2620 :group 'wl-folder) 2621 2622(defcustom wl-folder-unsubscribe-mark "#" 2623 "Mark for unsubscribe folder." 2624 :type 'string 2625 :group 'wl-folder) 2626 2627(defcustom wl-dispose-folder-alist '(("^-" . remove) 2628 ("^@" . remove)) 2629 "*Alist of folder and dispose policy. 2630Each element is (folder-regexp . policy). 2631 2632The policy is one of the followings: 2633'remove or 2634'null : remove message. 2635string : refile to the specified folder. 2636'trash or 2637otherwise : refile to the `wl-trash-folder'. 2638ex. 2639'((\"^%\" . \"%#mh/trash\") 2640 (\"^-\" . remove) 2641 (\"^\\\\+\" . trash))" 2642 :type '(repeat (cons (regexp :tag "Folder Regexp") 2643 (choice :tag "Policy" 2644 (const remove) 2645 (const :tag "remove(null)" null) 2646 (const trash) 2647 (const :tag "trash(other)" trash) 2648 (string :tag "Folder")))) 2649 :group 'wl-folder) 2650 2651(defcustom wl-folder-hierarchy-access-folders '("^-[^.]*\\(:\\|@\\|$\\)" 2652 "^@$" "^'$") 2653 "*Access group REGEXPs to make hierarchy structure." 2654 :type '(repeat (string :tag "Regexp")) 2655 :group 'wl-folder) 2656 2657(defcustom wl-folder-init-load-access-folders nil 2658 "*Access group folders to load folder list on `wl-folder-init'. 2659If this variable is non-nil, 2660`wl-folder-init-no-load-access-folders' will be ignored." 2661 :type '(repeat (regexp :tag "Folder Regexp")) 2662 :group 'wl-folder) 2663 2664(defcustom wl-folder-init-no-load-access-folders nil 2665 "*Access group folders to not load folder list on `wl-folder-init'. 2666If `wl-folder-init-load-access-folders' is non-nil, 2667this variable will be ignored." 2668 :type '(repeat (regexp :tag "Folder Regexp")) 2669 :group 'wl-folder) 2670 2671(defcustom wl-folder-access-subscribe-alist nil 2672 "*Subscribe folders to fetching folder entries. 2673Each element is (group-regexp (subscribe folder-regexp ...)). 2674If subscribe is non-nil, subscribe when match folder-regexp. 2675If subscribe is nil, unsubscribe when match folder-regexp. 2676 2677ex. 2678'((\"^-fj$\" . (t \"^-fj\\\\.\\\\(editor\\\\|mail\\\\|net\\\\|news\\\\)\")) 2679 (\"^-comp$\" . (t \"^-comp\\\\.unix\" \"^-comp\\\\.sys\")) 2680 (\"^-$\" . (nil \"^-alt\" \"^-rec\")))" 2681 :type '(repeat (cons (regexp :tag "Folder Regexp") 2682 (list (boolean :tag "Subscribed") 2683 (repeat :inline t 2684 (regexp :tag "Folder Regexp"))))) 2685 :group 'wl-folder) 2686 2687;;; For Folder Manager 2688 2689(defcustom wl-interactive-save-folders t 2690 "*Non-nil require your confirmation when save folders." 2691 :type 'boolean 2692 :group 'wl-folder 2693 :group 'wl-setting) 2694 2695(defcustom wl-fldmgr-make-backup t 2696 "*Non-nil make backup file when save folders." 2697 :type 'boolean 2698 :group 'wl-folder) 2699 2700(defcustom wl-fldmgr-folders-indent "\t" 2701 "*Indent string for folders file." 2702 :type 'string 2703 :group 'wl-folder) 2704 2705(defcustom wl-fldmgr-sort-function 'wl-fldmgr-sort-standard 2706 "*A function to sort folder." 2707 :type 'function 2708 :group 'wl-folder) 2709 2710(defcustom wl-fldmgr-sort-group-first t 2711 "*Non-nil Group folder is first when sort." 2712 :type 'function 2713 :group 'wl-folder) 2714 2715(defcustom wl-fldmgr-add-complete-with-current-folder-list nil 2716 "*If non-nil, completion for adding folder refers current folder list." 2717 :type 'boolean 2718 :group 'wl-folder) 2719 2720(defcustom wl-fldmgr-make-filter-default "Body" 2721 "*Default filter key while making filter on Folder." 2722 :type '(radio (const "From") 2723 (const "Subject") 2724 (const "To") 2725 (const "Cc") 2726 (const "Body") 2727 (const "Since") 2728 (const "Before") 2729 (const "Last") 2730 (const "First") 2731 (string :tag "Other")) 2732 :group 'wl-folder) 2733 2734(defcustom wl-fldmgr-allow-rename-access-group nil 2735 "*If non-nil, allow to rename folder in access group." 2736 :type 'boolean 2737 :group 'wl-folder) 2738 2739;;; For Expire and Archive 2740 2741(defcustom wl-expire-alist nil 2742 "Alist to decide a policy for expire. 2743Each element is (folder-regexp (number or date) policy). 2744 2745The policy is one of the followings: 2746'remove : remove messsage. 2747'trash : refile `wl-trash-folder'. 2748string : refile string folder. 2749function : call function. 2750 2751ex. 2752'((\"^\\\\+ml/wl$\" (number 500 510) wl-expire-archive-number1 t) 2753 (\"^\\\\+ml/\" (number 300 305) wl-expire-archive-number2) 2754 (\"^\\\\+outbox$\" (number 300) \"$outbox;lha\") 2755 (\"^\\\\(\\\\+tmp\\\\|\\\\+trash\\\\)$\" (date 7) remove) 2756 (\"^\\\\+misc$\" (date 14) trash))" 2757 :type '(repeat (choice (list :tag "No-match" 2758 (regexp :tag "Folder Regexp") 2759 (const nil)) 2760 (list :tag "Match" 2761 (regexp :tag "Folder Regexp") 2762 (list (radio :value number 2763 (const number) 2764 (const date)) 2765 (list :inline t 2766 integer 2767 (repeat :inline t integer))) 2768 (choice :tag "Policy" 2769 :value remove 2770 (const remove) 2771 (const trash) 2772 (string :tag "folder") 2773 function) 2774 (repeat :inline t 2775 :tag "Arg for function" 2776 sexp)))) 2777 :group 'wl-expire) 2778 2779(defcustom wl-archive-alist '((".*" wl-archive-number1)) 2780 "Alist to decide a policy for archive. 2781Each element is (folder-regexp policy(function)). 2782 2783ex. 2784'((\"\\\\+work$\" wl-archive-date) 2785 (\"\\\\+ml/\" wl-archive-number1) 2786 (\".*\" wl-archive-number2))" 2787 :type '(repeat (list (regexp :tag "Folder Regexp") 2788 function 2789 (repeat :inline t 2790 (sexp :tag "Argument")))) 2791 :group 'wl-expire) 2792 2793(defcustom wl-summary-expire-reserve-marks 2794 (list wl-summary-flag-mark 2795 wl-summary-new-uncached-mark 2796 wl-summary-new-cached-mark 2797 wl-summary-unread-uncached-mark 2798 wl-summary-unread-cached-mark) 2799 "Permanent marks of reserved message when expire. 2800Don't reserve temporary mark message. 2801 2802ex. 2803'all : reserved all permanent marks. 2804'none : not reserve permanent marks. 2805list : reserved specified permanent marks." 2806 :type '(repeat (string :tag "Mark")) 2807 :group 'wl-expire) 2808 2809(defcustom wl-expire-number-with-reserve-marks nil 2810 "If non-nil, include reserve message when expire by number." 2811 :type 'boolean 2812 :group 'wl-expire) 2813 2814(defcustom wl-expire-add-seen-list t 2815 "*If non-nil, add seen message list when refile message at expire." 2816 :type 'boolean 2817 :group 'wl-expire) 2818 2819(defcustom wl-expire-use-log nil 2820 "*If non-nil, write a log when expired." 2821 :type 'boolean 2822 :group 'wl-expire) 2823 2824(defcustom wl-expire-folder-update-msgdb t 2825 "*Non-nil update summary msgdb when expire on folder mode." 2826 :type 'boolean 2827 :group 'wl-expire) 2828 2829;; for wl-expire-archive-{number1|number2} 2830(defcustom wl-expire-archive-files 100 2831 "*The number of one archive folder." 2832 :type 'integer 2833 :group 'wl-expire) 2834 2835;; for wl-expire-archive-{number1|number2|date} 2836(defcustom wl-expire-archive-get-folder-function 2837 'wl-expire-archive-get-folder 2838 "*A function to get archive folder name." 2839 :type 'function 2840 :group 'wl-expire) 2841 2842(defcustom wl-expire-delete-oldmsg-confirm t 2843 "*If non-nil, require your confirmation when delete old message." 2844 :type 'boolean 2845 :group 'wl-expire) 2846 2847;; for wl-expire-archive-get-folder 2848(defcustom wl-expire-archive-folder-type 'zip 2849 "*Archiver type of archive folder." 2850 :type '(radio (const zip) 2851 (const lha) 2852 (const zoo) 2853 (const rar) 2854 (const tar) 2855 (const tgz) 2856 (symbol :tag "Other")) 2857 :group 'wl-expire) 2858 2859(defcustom wl-expire-archive-folder-name-fmt "%s-%%05d;%s" ;; $folder-00100;zip 2860 "*A format string for archive folder name." 2861 :type 'string 2862 :group 'wl-expire) 2863 2864(defcustom wl-expire-archive-folder-num-regexp "-\\([0-9]+\\);" 2865 "*A regexp string for archive folder name." 2866 :type 'string 2867 :group 'wl-expire) 2868 2869(defcustom wl-expire-archive-date-folder-name-fmt "%s-%%04d%%02d;%s" 2870 ;; $folder-199812;zip 2871 "*A format string for archive date folder name." 2872 :type 'string 2873 :group 'wl-expire) 2874 2875(defcustom wl-expire-archive-date-folder-num-regexp "-\\([0-9]+\\);" 2876 "*A regexp string for archive date folder name." 2877 :type 'string 2878 :group 'wl-expire) 2879 2880(defcustom wl-expire-archive-folder-prefix nil 2881 "*Prefix for archive folder." 2882 :type '(radio (const :tag "nothing" nil) 2883 (const :tag "full" t) 2884 (const short)) 2885 :group 'wl-expire) 2886 2887;;;; Highlights. 2888 2889;; highilght about summary 2890(defcustom wl-highlight-max-summary-lines 10000 2891 "*If the summary is larger than this lines, don't highlight it." 2892 :type 'integer 2893 :group 'wl-highlight) 2894 2895;; highilght about draft and message 2896(defcustom wl-highlight-body-too t 2897 "*In addition to header, highlight the body too. if non nil." 2898 :type 'boolean 2899 :group 'wl-highlight) 2900 2901(defcustom wl-highlight-message-header-alist 2902 '(("Subject[ \t]*:" . wl-highlight-message-important-header-contents) 2903 ("From[ \t]*:\\|To[ \t]*:" . wl-highlight-message-important-header-contents2) 2904 ("X-[^ \t]*:\\|User-Agent[ \t]*:" . wl-highlight-message-unimportant-header-contents)) 2905 "" 2906 :type '(repeat (cons regexp face)) 2907 :group 'wl-highlight) 2908 2909(defcustom wl-highlight-citation-prefix-regexp 2910 "^[>|:} ]*[>|:}]\\([^ \n>]*>\\)?\\|^[^ <\n>]*>" 2911 "All lines that match this regexp will be highlighted with 2912 `wl-highlight-message-cited-text-*' face." 2913 :type 'regexp 2914 :group 'wl-highlight) 2915 2916(defcustom wl-highlight-highlight-citation-too nil 2917 "*Whether the whole citation line should go in the 2918`wl-highlight-citation-face' face. 2919If nil, the text matched by `wl-highlight-citation-prefix-regexp' is in the 2920default face, and the remainder of the line is in the 2921wl-highlight-message-cited-text face." 2922 :type 'boolean 2923 :group 'wl-highlight) 2924 2925(defcustom wl-highlight-force-citation-header-regexp 2926 "^>>>.*$\\|^[ \t]*<[^>]*>[ \t]*$" 2927 "*The pattern to match the prolog of a cited block. 2928Text in the body of a message which matches this will be displayed in 2929the `wl-highlight-message-headers' face." 2930 :type 'regexp 2931 :group 'wl-highlight) 2932 2933(defcustom wl-highlight-citation-header-regexp 2934 (concat "In article.*$\\|In message.*$\\|In the message.*$\\|" 2935 "^At[^\n]+\n[^\n]+wrote:\n\\|" 2936 "^.*\\(writes\\|wrote\\|said\\):\n") 2937 "*The pattern to match the prolog of a cited block. 2938Text in the body of a message which matches this will be displayed in 2939the `wl-highlight-message-headers' face." 2940 :type 'regexp 2941 :group 'wl-highlight) 2942 2943(defcustom wl-highlight-max-header-size nil 2944 "*If the message header is larger than this many chars, don't highlight it. 2945If this is nil, all headers will be highlighted." 2946 :type 'integer 2947 :group 'wl-highlight) 2948 2949(defcustom wl-highlight-max-message-size 10000 2950 "*If the message body is larger than this many chars, don't highlight it. 2951This is to prevent us from wasting time trying to fontify things like 2952uuencoded files and large digests. If this is nil, all messages will 2953be highlighted." 2954 :type 'integer 2955 :group 'wl-highlight) 2956 2957;; highilght about signature (of draft and message) 2958(defcustom wl-highlight-signature-separator 2959 '("\n--+\n" "\n\n--+.*\n*\\'") 2960 "List of regexps matching signature separator. 2961It will be verified from head to tail looking for a separator. 2962Verification will be done from the end of the buffer. 2963No need to specify \"^-- $\" in this list, 2964because it is verified by default. 2965This variable can also be a regex." 2966 :type '(repeat regexp) 2967 :group 'wl-highlight) 2968 2969(defcustom wl-max-signature-size 400 2970 "*If the signature is larger than this chars, don't treat it as a signature." 2971 :type 'integer 2972 :group 'wl-highlight) 2973 2974;; highilght about mouse 2975(defcustom wl-use-highlight-mouse-line window-system 2976 "*Highlight mouse line, if non-nil." 2977 :type 'boolean 2978 :group 'wl-highlight) 2979 2980(defcustom wl-highlight-summary-line-help-echo-alist 2981 '((flag wl-highlight-flag-folder-help-echo) 2982 (search elmo-message-file-name)) 2983 "*Alist to display help-echo in summary buffer. 2984Each element is (folder-type handler(function)). 2985Handler take two arguments elmo-folder and message number and return string." 2986 :type 'boolean 2987 :group 'wl-highlight) 2988 2989;; highilght about folder 2990(defcustom wl-highlight-folder-with-icon t 2991 "*Highlight folder with icon(XEmacs or Emacs 21)." 2992 :type 'boolean 2993 :group 'wl-highlight) 2994 2995(defcustom wl-highlight-folder-by-numbers t 2996 "Highlight folder lines by numbers. 2997If it is a number, only numbers will be highlighted." 2998 :type '(choice (const :tag "whole line" t) 2999 (const :tag "only numbers" 1) 3000 (const :tag "don't highlight" nil)) 3001 :group 'wl-highlight) 3002 3003(defcustom wl-highlight-signature-search-function 'wl-highlight-signature-search 3004 "Function to search signature area in the message body." 3005 :type 'function 3006 :group 'wl-highlight) 3007 3008;; Real-time draft highlighting 3009(defcustom wl-draft-real-time-highlight (if (featurep 'jit-lock) 'jit 'idle) 3010 "Incdicate real-time draft highlighting method. 3011Possible values are `jit', `idle' or nil. 3012`jit' means using jit-lock-mode. 3013`idle' means using idle-timer. 3014nil means real-time highlighting is disabled." 3015 :type '(choice (const :tag "Use jit-lock-mode" jit) 3016 (const :tag "Use idle timer" idle) 3017 (const :tag "Don't highlight automatically" nil)) 3018 :group 'wl-draft) 3019 3020(defcustom wl-draft-jit-highlight-function 'wl-draft-default-jit-highlight 3021 "The function used for real-time highlighting using jit-lock-mode." 3022 :type 'function 3023 :group 'wl-draft) 3024 3025(defcustom wl-draft-idle-highlight-idle-time 0.5 3026 "Do real-time highlighting after indicated idle time (second)." 3027 :type 'number 3028 :group 'wl-draft) 3029 3030(defcustom wl-draft-idle-highlight-function 'wl-draft-default-idle-highlight 3031 "The function for real-time highlighting using a timer." 3032 :type 'function 3033 :group 'wl-draft) 3034 3035(make-obsolete-variable 'wl-use-dnd "Obsoleted" "03 Jun 2020") 3036 3037(defcustom wl-reset-plugged-alist t 3038 "*If non-nil, reset `elmo-plugged-alist' when startup." 3039 :type 'boolean 3040 :group 'wl-pref) 3041 3042(defcustom wl-demo-display-logo (module-installed-p 'image) 3043 "If it is T, show graphic logo in the startup screen. You can set it to 3044a symbol `xbm' or `xpm' in order to force the image format." 3045 :type '(radio (const :tag "Off" nil) 3046 (const :tag "On (any format)" t) 3047 (const xpm) 3048 (const xbm)) 3049 :group 'wl-pref) 3050 3051(defcustom wl-invalid-character-message "(WL:Invalid characters.)" 3052 "*A string displayed when invalid character exists." 3053 :type 'string 3054 :group 'wl-pref) 3055 3056(defcustom wl-use-pgp-module 'epg 3057 "*Whether use EasyPG." 3058 :type '(choice (const :tag "EasyPG Library" epg) 3059 (const :tag "Don't use PGP" nil)) 3060 :group 'wl-pref) 3061 3062(defcustom wl-display-progress-threshold 3063 '((wl-folder-insert-entity . 100) 3064 (elmo-retrieve-message . 3000) 3065 (t . 20)) 3066 "*Displaying progress message if number of total are more than this value." 3067 :type '(choice (const :tag "No display" nil) 3068 (const :tag "No limitation" 0) 3069 (integer :tag "For all") 3070 (repeat :tag "Each label" 3071 (cons (choice (const :tag "Default" t) 3072 (symbol :tag "Label")) 3073 (choice (const :tag "No display" nil) 3074 (const :tag "No limitation" 0) 3075 (integer :tag "Threshold"))))) 3076 :group 'wl-pref) 3077 3078(defcustom wl-display-progress-function 'wl-simple-display-progress 3079 "*A function to display progress message" 3080 :type '(choice (const :tag "No display" nil) 3081 (function :tag "Function")) 3082 :group 'wl-pref) 3083 3084(defcustom wl-progress-update-interval 0.3 3085 "The minimum interval in seconds between displaying progress messages." 3086 :type 'number 3087 :group 'wl-pref) 3088 3089;;; Internal variables 3090(defvar wl-init nil) 3091 3092;; For disconnected operations. 3093(defvar wl-plugged-hook nil) 3094(defvar wl-unplugged-hook nil) 3095(defcustom wl-plugged t 3096 "*Plugged state at the startup. Nil means off-line." 3097 :type 'boolean 3098 :group 'wl 3099 :group 'wl-setting) 3100 3101;; Internal variables used to modeline identifiers. 3102(defvar wl-modeline-plug-status nil) 3103(defvar wl-modeline-plug-state-on wl-plug-state-indicator-on) 3104(defvar wl-modeline-plug-state-off wl-plug-state-indicator-off) 3105(defvar wl-modeline-biff-status nil) 3106(defvar wl-modeline-biff-state-on wl-biff-state-indicator-on) 3107(defvar wl-modeline-biff-state-off wl-biff-state-indicator-off) 3108 3109;; Advanced thread view. 3110(defvar wl-thread-indent-level (if wl-on-mule 1 2) 3111 "*Indent level for thread.") 3112(defvar wl-thread-have-younger-brother-str (if wl-on-mule "┣" "+") 3113 "*A string for thread branch line. It should contain one character.") 3114(defvar wl-thread-youngest-child-str (if wl-on-mule "┗" "+") 3115 "*A string for thread branch line. It should contain one character.") 3116(defvar wl-thread-vertical-str (if wl-on-mule "┃" "|") 3117 "*A string for thread branch line. It should contain one character.") 3118(defvar wl-thread-horizontal-str (if wl-on-mule "━" "-") 3119 "*A string for thread branch line. It should contain one character.") 3120(defvar wl-thread-space-str (if wl-on-mule " " " ") 3121 "*A string for thread branch line. It should contain one character.") 3122 3123;; folder icons. filename relative to wl-icon-directory 3124(defvar wl-opened-group-folder-icon "opened.xpm" 3125 "*Icon file for opened group folder.") 3126(defvar wl-closed-group-folder-icon "closed.xpm" 3127 "*Icon file for closed group folder.") 3128(defvar wl-nntp-folder-icon "news.xpm" 3129 "*Icon file for nntp folder.") 3130(defvar wl-imap-folder-icon "imap.xpm" 3131 "*Icon file for imap folder.") 3132(defvar wl-pop-folder-icon "pop.xpm" 3133 "*Icon file for pop folder.") 3134(defvar wl-localdir-folder-icon "local.xpm" 3135 "*Icon file for localdir folder.") 3136(defvar wl-localnews-folder-icon "localnews.xpm" 3137 "*Icon file for localnews folder.") 3138(defvar wl-internal-folder-icon "internal.xpm" 3139 "*Icon file for internal folder.") 3140(defvar wl-multi-folder-icon "multi.xpm" 3141 "*Icon file for multi folder.") 3142(defvar wl-filter-folder-icon "filter.xpm" 3143 "*Icon file for filter folder.") 3144(defvar wl-archive-folder-icon "archive.xpm" 3145 "*Icon file for archive folder.") 3146(defvar wl-pipe-folder-icon "pipe.xpm" 3147 "*Icon file for pipe folder.") 3148(defvar wl-search-folder-icon "nmz.xpm" 3149 "*Icon file for search folder.") 3150(defvar wl-shimbun-folder-icon "shimbun.xpm" 3151 "*Icon file for shimbun folder.") 3152(defvar wl-file-folder-icon "file.xpm" 3153 "*Icon file for file folder.") 3154(defvar wl-maildir-folder-icon "maildir.xpm" 3155 "*Icon file for maildir folder.") 3156(defvar wl-access-folder-icon "access.xpm" 3157 "*Icon file for access folder.") 3158(defvar wl-empty-trash-folder-icon "trash-e.xpm" 3159 "*Icon file for emptied trash folder.") 3160(defvar wl-trash-folder-icon "trash.xpm" 3161 "*Icon file for trash folder.") 3162(defvar wl-draft-folder-icon "draft.xpm" 3163 "*Icon file for draft folder.") 3164(defvar wl-queue-folder-icon "queue.xpm" 3165 "*Icon file for queue folder.") 3166(defvar wl-plugged-icon "plugged.xpm" 3167 "*Icon file for plugged state.") 3168(defvar wl-unplugged-icon "unplugged.xpm" 3169 "*Icon file for unplugged state.") 3170(defvar wl-biff-mail-icon "letter.xpm" 3171 "*Icon file for mail existed state.") 3172(defvar wl-biff-nomail-icon "no-letter.xpm" 3173 "*Icon file for no mail existed state.") 3174(defvar wl-prog-uudecode "uudecode" 3175 "*uudecode program name.") 3176(defvar wl-prog-uudecode-arg nil 3177 "*Arguments for uudecode program.") 3178(defvar wl-prog-uudecode-no-stdout-option t 3179 "*If non-nil, uudecode program don't have option for output to stdout.") 3180 3181;; plug 3182(defvar wl-plugged-plug-on "ON") 3183(defvar wl-plugged-plug-off "--") 3184(defvar wl-plugged-auto-off "**") 3185(defvar wl-plugged-server-indent 2) 3186(defvar wl-plugged-port-indent 4) 3187(defvar wl-plugged-queue-status-column 25) 3188 3189;;;; Obsolete variables. 3190 3191;; 2012-08-19 3192(elmo-define-obsolete-variable 'wl-message-id-use-wl-from 3193 'wl-message-id-use-message-from) 3194 3195;; 2005-01-23 3196(elmo-define-obsolete-variable 'wl-nmz-folder-icon 3197 'wl-search-folder-icon) 3198 3199;; 2003-11-05 3200(elmo-define-obsolete-variable 'wl-summary-new-mark 3201 'wl-summary-new-uncached-mark) 3202 3203;; 2003-07-15 delete -> dispose 3204(elmo-define-obsolete-variable 'wl-delete-folder-alist 3205 'wl-dispose-folder-alist) 3206 3207;; 2002-12-25 3208(elmo-define-obsolete-variable 'wl-draft-reply-myself-with-argument-list 3209 'wl-draft-reply-with-argument-list) 3210(elmo-define-obsolete-variable 'wl-draft-reply-myself-without-argument-list 3211 'wl-draft-reply-without-argument-list) 3212 3213;; 2001-12-11: *-dir -> *-directory 3214(elmo-define-obsolete-variable 'wl-icon-dir 3215 'wl-icon-directory) 3216(elmo-define-obsolete-variable 'wl-mime-save-dir 3217 'wl-mime-save-directory) 3218(elmo-define-obsolete-variable 'wl-score-files-dir 3219 'wl-score-files-directory) 3220(elmo-define-obsolete-variable 'wl-tmp-dir 3221 'wl-temporary-file-directory) 3222 3223;; 2001-12-10 3224(elmo-define-obsolete-variable 'wl-summary-update-confirm-threshold 3225 'elmo-folder-update-threshold) 3226(elmo-define-obsolete-variable 'wl-fetch-confirm-threshold 3227 'elmo-message-fetch-threshold) 3228 3229(elmo-define-obsolete-variable 'wl-cache-prefetch-folder-type-list 3230 'wl-message-buffer-prefetch-folder-type-list) 3231(elmo-define-obsolete-variable 'wl-cache-prefetch-folder-list 3232 'wl-message-buffer-prefetch-folder-list) 3233 3234;; 2001-02-27: *-func -> *-function 3235(elmo-define-obsolete-variable 'wl-summary-from-func 3236 'wl-summary-from-function) 3237(elmo-define-obsolete-variable 'wl-summary-subject-func 3238 'wl-summary-subject-function) 3239(elmo-define-obsolete-variable 'wl-summary-subject-filter-func 3240 'wl-summary-subject-filter-function) 3241(elmo-define-obsolete-variable 'wl-draft-send-func 3242 'wl-draft-send-function) 3243(elmo-define-obsolete-variable 'wl-draft-send-news-func 3244 'wl-draft-send-news-function) 3245(elmo-define-obsolete-variable 'wl-draft-send-mail-func 3246 'wl-draft-send-mail-function) 3247(elmo-define-obsolete-variable 'wl-print-buffer-func 3248 'wl-print-buffer-function) 3249(elmo-define-obsolete-variable 'wl-ps-print-buffer-func 3250 'wl-ps-print-buffer-function) 3251(elmo-define-obsolete-variable 'wl-generate-mailer-string-func 3252 'wl-generate-mailer-string-function) 3253(elmo-define-obsolete-variable 'wl-highlight-x-face-func 3254 'wl-highlight-x-face-function) 3255(elmo-define-obsolete-variable 'wl-fldmgr-sort-func 3256 'wl-fldmgr-sort-function) 3257(elmo-define-obsolete-variable 'wl-expire-archive-get-folder-func 3258 'wl-expire-archive-get-folder-function) 3259(elmo-define-obsolete-variable 'wl-highlight-signature-search-func 3260 'wl-highlight-signature-search-function) 3261 3262;; 2000-01-25: temp mark -> target mark 3263(elmo-define-obsolete-variable 'wl-summary-temp-above 3264 'wl-summary-target-above) 3265 3266(defvar wl-draft-prepared-config-alist nil) 3267(make-obsolete-variable 'wl-draft-prepared-config-alist 3268 'wl-draft-config-alist "07 Nov 1999") 3269 3270;; 1999-10-10 3271(elmo-define-obsolete-variable 'wl-address-filename 3272 'wl-address-file) 3273(elmo-define-obsolete-variable 'wl-score-default-file-name 3274 'wl-score-default-file) 3275 3276 3277(require 'product) 3278(product-provide (provide 'wl-vars) (require 'wl-version)) 3279 3280;;; wl-vars.el ends here 3281