merge
[nethome.git] / .muttrc.addons
index 70db1d9..92ff0ad 100644 (file)
@@ -1,17 +1,33 @@
 # System-wide personalization for Mutt
 ######################################
 
-set sort=threads
+# '!' an '=' are expand only as the very first characters.
+# regexes are processed.
+# '$' must follow alpha or '{' to get interpreted as a variable.
+folder-hook ""                   set sort=threads
+folder-hook "!$"                 set sort=mailbox-order;push "*<Tab>"
+folder-hook "=(=|err|rhbug)"     set sort=mailbox-order;push "*<Tab>"
+folder-hook "=(sent|spam|input)" set sort=mailbox-order;push "*"
+bind index <Tab> next-new
+bind pager <Tab> next-new
+bind index <Esc><Tab> previous-new
+bind pager <Esc><Tab> previous-new
+bind index \` next-unread
+bind pager \` next-unread
+bind index <Esc>\` previous-unread
+bind pager <Esc>\` previous-unread
 unset strict_threads
-set editor="vim -c 'set noai' -c 'set ts=8'"
-set send_charset="us-ascii:iso-8859-2:utf-8"
-set charset="iso-8859-2"
+# tw=78 is for gq and RFC 2822 section 2.1.1.
+set editor="vim -c 'set noai' -c 'set ts=8' -c 'set tw=78'"
+set send_charset="us-ascii:iso-2022-jp:utf-8"
+set charset="utf-8"
 set autoedit
 set auto_tag
 set history=100
 set include=yes
 unset metoo
 set mime_fwd
+set forward_format="Fwd: [%a] %s"
 set move=no
 set pager_context=1
 set pager_stop
@@ -32,6 +48,14 @@ unset confirmcreate
 set reply_to=ask-yes
 set thorough_search
 set abort_unmodified=no
+set date_format="!%a, %d %b %Y %H:%M:%S %z"    # RFC 2822: 3.3.
+# FIXME: %D not needed: RFC 2822: 3.3: "converted" can IMO incl. timezone
+# but %d will place +0000 for %z and thus brokes the timestamp
+set attribution="On %D, %n wrote:"
+unset markers
+# Mailman; FIXME: Patch Mutt to extend it multiline.
+color body brightred default "^_______________________________________________\r?\n$"
+macro index <Esc>m "l~N|~O\n"
 
 
 # Mail command
@@ -39,24 +63,37 @@ set abort_unmodified=no
 bind index \ca mail
 macro index M ":my_hdr X-Priority: 1\n:my_hdr Importance: high\n:set dsn_return=hdrs\n:set dsn_notify=failure,delay,success\n^a" "DSN and Priority-1 classed compose of a new mail message"
 macro index m ":unmy_hdr X-Priority Importance\n:unset dsn_return dsn_notify\n^a" "Standard compose of a new mail message"
-macro index S ":unset wait_key\n|formail -s /home/short/bin/razor-report\n:set wait_key\nd"
-macro editor \ew "^a  [WAS: ^e]^a"
+# quote 'macro' argument to prevent: macro: too many arguments
+# `spamassassin {--report|--revoke}' calls `sa-learn {--spam|--ham}' automatically.
+folder-hook ""      "macro index S \":unset wait_key\n|spamassassin --report\n:set wait_key\ns=spamo-mutt\n\""
+folder-hook "=spam" "macro index S \":unset wait_key\n|spamassassin --report\n:set wait_key\nWN\ct~T\n\""
+folder-hook ""      "macro pager S \":unset wait_key\n|spamassassin --report\n:set wait_key\ns=spamo-mutt\n\""
+folder-hook "=spam" "macro pager S \":unset wait_key\n|spamassassin --report\n:set wait_key\n\""
+folder-hook ""      "macro index H \":unset wait_key\n|spamassassin --revoke\n:set wait_key\nWN\ct~T\n\""
+folder-hook ""      "macro pager H \":unset wait_key\n|spamassassin --revoke\n:set wait_key\n\""
+macro editor \ew "^a  [^e]^a"
 
 # GPG
 #####
-source /home/short/.muttrc-gpg.rc
+source ~/.muttrc-gpg.rc
 unset pgp_show_unusable
 set pgp_replyencrypt
 set pgp_replysignencrypted
 
 # Ignore headers
 ################
-ignore received content- mime-version status x-status message-id sender
-ignore references return-path lines precedence x-authentication-warning
-ignore list-help list-subscribe list-unsubscribe list-post list-archive
-ignore x-mimetrack priority x-priority importance x-mime-autoconverted
-ignore x-accept-language resent-message-id x-sender x-antirelay
-ignore x-msmail-priority x-mimeole x-pop3-rcpt delivered-to
+unignore *
+ignore received: content-transfer-encoding: content-length: Content-Disposition:
+ignore mime-version: status: x-status: sender:
+ignore references: lines: x-authentication-warning:
+ignore list-help: list-subscribe: list-unsubscribe: list-post:
+ignore x-loop: errors-to: x-beenthere: X-Mailman-Version: X-Sieve:
+ignore x-mimetrack: priority: x-priority: importance: precedence: x-mime-autoconverted:
+ignore x-accept-language: x-sender: x-antirelay:
+ignore x-msmail-priority: x-mimeole: x-pop3-rcpt: delivered-to:
+ignore face: organization: x-scanned-by: x-bugzilla-
+ignore DKIM-Signature: DomainKey-Signature: X-RedHat-Spam-Score:
+color header brightyellow black ^(From|Subject|To|Cc|Bcc|Message-ID):
 
 # Colors
 ########
@@ -72,9 +109,9 @@ color message brightcyan black
 color normal white black
 color attachment brightmagenta black
 color search black green  # how to hilite search patterns in the pager
-color header brightyellow black ^(From|Subject):
 color body brightyellow black "(ftp|http)://[^ ]+"  # point out URLs
 color body brightcyan black [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses
 color underline brightgreen black
 mono header underline ^(From|Subject):
 mono quoted bold
+macro index V ":color index black white .*\n:color header black white ^(From|Subject|To|Cc|Bcc|Message-ID):\n:color hdrdefault black white\n:color quoted cyan white\n:color signature brightred white\n:color indicator brightyellow red\n:color error brightred white\n:color status brightyellow blue\n:color tree brightmagenta white  # the thread tree in the index menu\n:color tilde brightmagenta white\n:color message brightcyan white\n:color normal black white\n:color attachment brightmagenta white\n:color search black green  # how to hilite search patterns in the pager\n:color body brightyellow white '(ftp|http)://[^ ]+'  # point out URLs\n:color body black white [-a-z_0-9.]+@[-a-z_0-9.]+ # e-mail addresses\n:color underline brightgreen white\n\cl"