* wl-vars.el (wl-summary-default-view): New variable to specify
[elisp/wanderlust.git] / wl / wl-vars.el
index e1af57a..8655655 100644 (file)
@@ -174,6 +174,41 @@ If you don't have multiple e-mail addresses, you don't have to set this."
                 string)
   :group 'wl)
 
+(defcustom wl-summary-default-view 'thread
+  "Default status of summary view, thread or sequential view."
+  :type '(choice (const :tag "Thread" thread)
+                (const :tag "Sequential" sequence))
+  :group 'wl-summary)
+
+(defvar wl-summary-mode-line-format-spec-alist
+  '((?f (if (memq 'modeline wl-use-folder-petname)
+           (wl-folder-get-petname (elmo-folder-name-internal
+                                   wl-summary-buffer-elmo-folder))
+         (elmo-folder-name-internal wl-summary-buffer-elmo-folder)))
+    (?t (if (eq wl-summary-buffer-view 'thread) "T" "S"))
+    (?n wl-summary-buffer-new-count)
+    (?u (+ wl-summary-buffer-new-count
+          wl-summary-buffer-unread-count))
+    (?a (length wl-summary-buffer-number-list)))
+  "An alist of format specifications that can appear in summary mode-lines.
+Each element is a list of following:
+\(SPEC STRING-EXP\)
+SPEC is a character for format specification.
+STRING-EXP is an expression to get string to insert.")
+
+(defcustom wl-summary-mode-line-format "Wanderlust: %f {%t}(%n/%u/%a)"
+  "*A format string for summary mode-line of Wanderlust.
+It may include any of the following format specifications
+which are replaced by the given information:
+
+%f The folder name.
+%t The thread status of the summary ('T' for thread, 'S' for sequential).
+%n The number of new messages.
+%u The number of unread messages (includes new messages).
+%a The number of all messages."
+  :group 'wl-summary
+  :type 'string)
+
 (defvar wl-summary-line-format-spec-alist
   '((?Y (wl-summary-line-year))
     (?M (wl-summary-line-month))
@@ -191,28 +226,33 @@ If you don't have multiple e-mail addresses, you don't have to set this."
          (if wl-parent-message-entity
              (if wl-thr-linked ">>" ">")
            "")))
+    (?~ (if (zerop (length wl-line-string)) "" " "))
     (?c (if wl-thr-children-number
            (concat "+" (number-to-string wl-thr-children-number) ":")
-         " "))
-    (?F (concat
-        (if wl-thr-children-number
-            (concat "+" (number-to-string wl-thr-children-number) ":")
-          "")
-        " "
-        (wl-summary-line-from)))
+         ""))
     (?f (wl-summary-line-from))
-    (?# (wl-summary-line-list-count)))
+    (?# (wl-summary-line-list-info))
+    (?l (wl-summary-line-list-count))
+    (?T (or wl-temp-mark " "))
+    (?P (or wl-persistent-mark " "))
+    (?n (wl-summary-line-number))
+    (?@ (wl-summary-line-attached)))
   "An alist of format specifications that can appear in summary lines.
 Each element is a list of following:
 \(SPEC STRING-EXP\)
 SPEC is a character for format specification.
-STRING is an expression to get string to insert.")
+STRING-EXP is an expression to get string to insert.")
 
-(defcustom wl-summary-line-format "%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s"
+(defcustom wl-summary-line-format "%n%T%P%M/%D(%W)%h:%m %t%[%17(%c %f%) %] %s"
   "*A default format string for summary line of Wanderlust.
 It may include any of the following format specifications
 which are replaced by the given information:
 
+%n The number of the message.
+   The width is decided using `wl-summary-default-number-column' and
+   `wl-summary-number-column-alist'.
+%T The temporal mark (*, D, o, O).
+%P The persistent mark (status of the message).
 %Y The year of the date field of the message (zero padded).
 %M The month of the date field of the message (zero padded).
 %D The day of the date field of the message (zero padded).
@@ -225,15 +265,13 @@ which are replaced by the given information:
    it is replaced with '>'.
 %c The children number of the closed message thread.
    Children number is printed like '+??:'.
-   If the message is opened, ' ' is displayed.
 %C The children number of the closed message thread.
    Children number is printed like '[+??] '.
    If the message is opened, '>' or '>>' (linked) is displayed.
 %f The from: field string of the message.
-%F The children number of the closed message thread and 
-   the from: field string of the message are concatenated.
 %s The subject: field string of the message.
 %S The size of the message (if available).
+%~ If the previous spec is not zero-length, replaced with ' '.
 
 If the format string contains the specifiers %( and %), the text between
 them will have the specified number of columns."
@@ -244,12 +282,24 @@ them will have the specified number of columns."
   "An alist of folder name and a summary line format.
 If no match, `wl-summary-line-format' is used.
 e.x.
-      '((\"^%\" . \"%M/%D(%W)%h:%m %t%[%14F %](%S) %s\")
-       (\"^@2ch\" . \"%M%/%D/%h:%m %t[%9F ]%s\")))"
+      '((\"^%\" . \"%n%T%P%M/%D(%W)%h:%m %t%[%14(%c %f%) %](%S) %s\")
+       (\"^@2ch\" . \"%n%T%P%M%/%D/%h:%m %t[%9(%c %f%) ]%s\")))"
   :type '(repeat (cons (regexp :tag "Folder Regexp")
                       (string :tag "line format")))
   :group 'wl-summary)
 
+(defcustom wl-summary-check-line-format t
+  "*Check summary line format change if non-nil.
+When summary line format is changed, current summary cache is discarded.
+It is highly recommended to set this value to t."
+  :type 'boolean
+  :group 'wl-summary)
+
+(defcustom wl-summary-line-format-file ".wl-summary-line-format"
+  "*Cache file for summary line format."
+  :type 'file
+  :group 'wl-summary)
+
 (defcustom wl-summary-from-function 'wl-summary-default-from
   "*A function for displaying sender (From: field) information."
   :type 'function
@@ -479,6 +529,33 @@ If nil, `elmo-nntp-default-port' is used."
 If nil, `elmo-nntp-default-stream-type' is used."
   :type 'boolean
   :group 'wl)
+(defcustom wl-nntp-posting-function 'elmo-nntp-post
+  "A function to post news.
+Prepared candidate is 'elmo-nntp-post."
+  :type '(radio (function-item elmo-nntp-post)
+               (function :tag "Other"))
+  :group 'wl-draft)
+(defcustom wl-nntp-posting-config-alist nil
+  "*Alist of configuration on nntp posting.
+ex.
+'((\",?local.test\" . \"news.media.kyoto-u.ac.jp\")
+  (\",?ku\\.\" .
+   ((server . \"news.media.kyoto-u.ac.jp\")
+    (user . \"newsmaster\")
+    (port . 119)
+    (function . elmo-nntp-post))
+  (\".*\" . \"newsfeed.kuee.kyoto-u.ac.jp\")))"
+  :type '(repeat (cons (sexp :tag "Match")
+                      (choice (string :tag "Server")
+                              (repeat :inlie t
+                                      (cons (choice (const server)
+                                                    (const user)
+                                                    (const port)
+                                                    (const stream-type)
+                                                    (const function))
+                                            (sexp :tag "Value"))))))
+  :group 'wl-draft
+  :group 'wl-setting)
 
 (defcustom wl-prefetch-confirm t
   "*Confirm prefetching if message size is larger than `wl-prefetch-threshold'."
@@ -1015,6 +1092,28 @@ This can either be a regular expression or list of regular expressions."
   :type '(repeat (string :tag "Field"))
   :group 'wl-draft)
 
+;; MIME Bcc.
+(defcustom wl-draft-mime-bcc-field-name "Ecc"
+  "Field name for MIME-encapsulated Bcc."
+  :type '(string :tag "Field Name")
+  :group 'wl-draft)
+
+(defcustom wl-draft-mime-bcc-body nil
+  "Body string for MIME-encapsulated Bcc.
+If nil, a string `This is a blind carbon copy.' is used."
+  :type '(string :tag "Body")
+  :group 'wl-draft)
+
+(defcustom wl-draft-disable-bcc-for-mime-bcc t
+  "Disable Bcc while MIME-encapsulated Bcc."
+  :type 'boolean
+  :group 'wl-draft)
+
+(defcustom wl-draft-disable-fcc-for-mime-bcc t
+  "Disable Fcc while MIME-encapsulated Bcc."
+  :type 'boolean
+  :group 'wl-draft)
+
 (defcustom wl-draft-config-alist nil
   "Alist of configuration field on draft.
 ex.
@@ -1155,8 +1254,7 @@ ex.
   :group 'wl-summary
   :group 'wl-highlight)
 
-(defcustom wl-summary-lazy-highlight (and (boundp 'window-scroll-functions)
-                                         (not wl-on-xemacs))
+(defcustom wl-summary-lazy-highlight (boundp 'window-scroll-functions)
   "Non-nil forces lazy summary highlighting using `window-scroll-functions'."
   :type 'boolean
   :group 'wl-summary
@@ -1293,9 +1391,10 @@ which appear just before @."
   :group 'wl-draft
   :group 'wl-pref)
 
-(defcustom wl-message-scroll-amount 5
+(defcustom wl-message-scroll-amount nil
   "*Scroll amount by SPC key."
-  :type 'integer
+  :type '(choice (const :tag "scrolling by screenfuls" nil)
+                integer)
   :group 'wl-pref)
 
 (defcustom wl-message-window-size '(1 . 4)
@@ -1389,6 +1488,12 @@ Each elements are regexp of field-name."
   :group 'wl-draft
   :group 'wl-pref)
 
+(defcustom wl-forward-subject-prefix "Forward: "
+  "*Prefix of the subject of the forwarded message."
+  :type 'string
+  :group 'wl-draft
+  :group 'wl-pref)
+
 (defcustom wl-draft-reply-use-address-with-full-name t
   "*Use address with full-name in the draft of replied message."
   :type 'boolean
@@ -1525,7 +1630,7 @@ might set this variable to '(\"-f\" \"you@some.where\")."
   :group 'wl-draft)
 
 (defcustom wl-rejected-letter-start
-  "^[\t ]*-+[\t ]+\\(original\\|\\(\\(the \\)?unsent\\)\\) message\\( follows\\)?[\t ]+-+[\t ]*$"
+  "^[\t ]*-+[\t ]+\\(\\(original\\|\\(\\(the \\)?unsent\\)\\) message\\( follows\\)?[\t ]+-+[\t ]*\\|Below this line is a copy of the message\\..*\\)$"
   "Regexp specifying the beginning of the wrapper around a returned letter.
 This wrapper is generated by the mail system when rejecting a letter."
   :type 'regexp
@@ -2382,6 +2487,11 @@ a symbol `bitmap', `xbm' or `xpm' in order to force the image format."
                (const :tag "bitmap (using BITMAP-MULE)" bitmap))
   :group 'wl-pref)
 
+(defcustom wl-invalid-character-message "(WL:Invalid characters.)"
+  "*A string displayed when invalid character exists."
+  :type 'string
+  :group 'wl-pref)
+
 ;;; Internal variables
 (defvar wl-init nil)