source ~/.mail_aliases
set alias_file=~/.mail_aliases
-set abort_nosubject=no
+source /usr/lib/mutt/source-muttrc.d|
+
set autoedit
unset beep
set bounce=yes
set collapse_unread
unset confirmappend
unset confirmcreate
-set delete=yes
set edit_headers
set encode_from
set folder = "~/Mail"
-set mime_forward
set from = "Don Armstrong <don@donarmstrong.com>"
unset help
-set header_cache = ~/.mutt/header_cache
set hide_limited
-set history = 20
set ignore_list_reply_to
set implicit_autoview
-set index_format="%4C %Z %[!%k:%M %m.%d.%y] %-15.15F (%?M?C%3M&%4c?) %?H?[%H] ?%s"
set mailcap_path ="/etc/mailcap"
unset maildir_trash
-unset mark_old
-set narrow_tree
-set pager_context = 2
set pager_stop = yes
-set postpone
-set quit = ask-yes
-set record="~/Mail/outbox"
set reverse_alias = yes
set save_history = 5
unset sig_dashes
set sort_re # set: only put a child in a thread, if starts with Re:
unset status_on_top # status line at the top or button?
unset strict_threads # thread only by In-Reply-To/References or by Subject.
-set suspend # Ctrl-Z is able to suspend mutt.
+unset suspend # Ctrl-Z is able to suspend mutt.
set thorough_search # MIME decode before searching.
unset tilde # Internal Pager: ~~~~ at and of message?
unset uncollapse_jump # don't move pointer, when uncollapsing thread
set display_filter="" # pipe message through this filter before displaying
set editor="~/bin/sane_editor"
set folder=~/Mail # where are the mailboxes (+ and = are shortcuts)
-set from="" # From: address (see send-hook my_hdr From)
set mbox=+inbox # not used if "set move=no"
set pager=builtin # internal pager: "builtin" or e.g. "less -e"
set postponed=+postponed # folder for postponed messages
set query_command="lbdbq %s" # query tlr's little brothers database.
set record="~/Mail/outbox" # Don't save a copy of outgoing messages (Fcc)
reset shell # Take shell from /etc/passwd
-set signature='~/.signature' # Signature (See send-hook!)
+# set signature='~/.signature' # Signature (See send-hook!)
set spoolfile=+INBOX # Maildir incoming file (~/Mail/incoming)
set narrow_tree=yes
((don(\\+.*)?@(.*\\.)?(donarmstrong|anylevel|oneinfinity)\\.(com|org|net))\
|(don(\\+.*)?@(.*\\.)?(rzlab|pellam)\\.ucr\\.edu)\
|(don(\\+.*)?@(.*\\.)?debian\\.org)\
-))$" # alternate usernames
+|donarm(\\+.*)?@(.*\\.)?illinois\\.edu)\
+)$" # alternate usernames
set gecos_mask="^[^,]*" # Parse the GECOS field from passwd file.
set reply_regexp="^((re(\\^[0-9])? ?:|a(nt)?w(ort)?:|wg:|\\(fwd\\))[ \t]*)*"
# Subject prefixes (removed on answering and threading)
-#set reply_regexp="^(re|aw):[ \t]+" # Default
set date_format="!%a %b %d, %Y at %I:%M:%S%p %Z"
# control output of %d in index_format. strftime(3)
# here: Monday Dec 06, 1997 at 08:30:42pm CET
set forward_format="(fwd) %s"
# subject of forwarded mails
-spam 'X-Spam-Level: \*\*\*\*\*\*\*\*' 8
-spam 'X-Spam-Level: \*\*\*\*\*\*' 6
+spam 'X-Spam-Level: \\*\\*\\*\\*\\*\\*\\*\\*' 8
+spam 'X-Spam-Level: \\*\\*\\*\\*\\*\\*' 6
spam 'X-Spam-Level: \\*\\*\\*' 3
-spam 'X-Spam-Level: \*\*' 2
-spam 'X-Spam-Level: \*' 1
+spam 'X-Spam-Level: \\*\\*' 2
+spam 'X-Spam-Level: \\*' 1
set index_format="%4C %Z %[!%k:%M %m.%d.%y] %-15.15F (%?M?C%3M&%4c?) %?H?[%H] ?%s"
set message_format="%-.16n: %s"
bind pager V show-version
bind index A create-alias
bind pager A create-alias
-#macro index S <pipe-message>add_spammer.pl<enter>s="SPAM\n"
-#macro pager S <pipe-message>add_spammer.pl<enter>s="SPAM\n"
-#macro index X |"spamassassin -r \n"
-#macro pager X |"spamassassin -r \n"
-macro index S "s=spam/MANUALSPAM\r"
-macro pager S "s=spam/MANUALSPAM\r"
-macro index X "<copy-message>=spam/HAM\r"
-macro pager X "<copy-message>=spam/HAM\r"
-macro index "\\T" "<copy-message>=TODO\r"
-macro pager "\\T" "<copy-message>=TODO\r"
+macro index S "s=spam.MANUALSPAM\r"
+macro pager S "s=spam.MANUALSPAM\r"
+macro index X "<copy-message>=spam.HAM\r"
+macro pager X "<copy-message>=spam.HAM\r"
+
+macro pager ,e "<tag-prefix><pipe-message>ripmime -i - -d ~/attachments/"
+macro index ,e "<tag-prefix><pipe-message>ripmime -i - -d ~/attachments/"
## ==============================================
## Bindings for editing and reloading the .muttrc
## ==============================================
-macro generic ,ve "!gnuclient ~/.muttrc\n"
+macro generic ,ve "!sane_editor ~/.muttrc\n"
macro generic ,vu ":source ~/.muttrc\r"
-macro generic ,va "!gnuclient ~/.mail_aliases \n"
+macro generic ,va "!sane_editor ~/.mail_aliases \n"
## ======================
## Bindings for index
# ======================================
# Quickly change to my favorite folders:
# ======================================
-macro index "\\d" "c=lists/debian-devel\r"
+macro index "\\d" "c=lists.debian-devel\r"
macro index "\\o" "c=outbox\r"
macro index "\\t" "c=TODO\r";
macro index "\\b" "c=buildd_don\r"
macro index I "c!\n" "Go to Inbox"
-macro pager "\\d" "c=lists/debian-devel\r"
+macro pager "\\d" "c=lists.debian-devel\r"
macro pager "\\t" "c=TODO\r";
macro pager "\\o" "c=outbox\r"
macro pager "\\b" "c=buildd_don\r"
bind pager p previous-undeleted
bind pager n next-undeleted
bind pager \n next-unread
-bind pager \cf forget-passphrase
-#bind compose \n send-message
+# bind pager \cf forget-passphrase
bind compose s send-message
bind pager ,p print-message
macro pager J "!gpg --keyserver wwwkeys.eu.pgp.net --recv-key " "Get PGP Key"
macro pager K "!gpg --lsign-key " "Sign PGP Key"
-# funky gimmick, but I never use it =)
-#macro pager ,s "|festival --tts\r"
-
-#macro index M "c{imap1.bonn.id-pro.net}\n"
-
macro pager "i" "<sync-mailbox><change-folder>?<toggle-mailboxes>"
macro index "i" "<sync-mailbox><change-folder>?<toggle-mailboxes>"
color header yellow default "^newsgroups:"
color header yellow default "^reply-to:"
color header brightcyan default "^subject:"
-color header red default "^x-spam-rule:"
+color header red default "^x-spam-score:"
color header yellow default "^x-mailer:"
color header yellow default "^message-id:"
color header yellow default "^Organization:"
color header yellow default "^Organisation:"
color header yellow default "^User-Agent:"
-color header yellow default "^message-id: .*pine"
-color header yellow default "^X-Fnord:"
-color header yellow default "^X-WebTV-Stationery:"
color header yellow default "^X-Message-Flag:"
color header yellow default "^X-Diagnostic:"
color tilde blue default
color tree brightmagenta default
color underline yellow default
-color body yellow default "[;:]-[)/(|]" # colorise smileys
-color body yellow default "[;:][)/(|]"
+# color body yellow default "[;:]-[)/(|]" # colorise smileys
+# color body yellow default "[;:][)/(|]"
color body brightblue default "(http|ftp|news|telnet|finger)://[^ ]*"
color index yellow default ~N # New
color index yellow default ~O # Old
-# color index brightgreen default '~s tgil'
-# color index cyan default '~s gilbertt ~f cvs-commits-list'
color index brightgreen default '~p' # mail to myself
color index brightcyan default '~P' # mail from myself
color index magenta default ~F # Flagged
unignore newsgroups: posted-to: x-spam-rule:
# These can provide amusement
unignore X-Fnord: X-WebTV-Stationery: X-Message-Flag:
+unignore Message-Id:
# procmail rules for listmaster
unignore X-Diagnostic:
unhdr_order *
hdr_order Date: From: To: Cc: X-Newsreader: X-Mailer: Organization: Organisation: User-Agent: X-Fnord: X-WebTV-Stationery: X-Message-Flag: X-Diagnostic: Newsgroups: Reply-To: Subject: x-spam-rule:
-## "alternates" tells mutt about your addresses. Mutt thus can show mails
-## addresses to you in the folder index as "personal" using the flag '+'.
-#set alternates=((tom|gilbertt)@snowman.net|.*@linuxbrit.*|.*@offended.*|giblet@lunixbrat.com)
-
-folder-hook . my_hdr "From: Don Armstrong <don@donarmstrong.com>"
-folder-hook . unmy_hdr "Reply-To:"
-folder-hook . unmy_hdr "Cc:"
-
folder-hook . set sort=threads
folder-hook INBOX set sort=date-received
send-hook ~A unmy_hdr "X-Debbugs-No-Ack";
send-hook "(~C submit@bugs.debian.org |~C control@bugs.debian.org |~C \d+@bugs.debian.org)" my_hdr "X-Debbugs-No-Ack: yes no ack"
-
-set signature='~/lib/signature_stuff/pick_a_quote.pl|'
-
-send-hook '~t build ~s success' "set signature='' pgp_autosign=yes indent_string='' edit_headers=no editor='~/bin/buildd_script' fast_reply=yes pgp_create_traditional=yes include=yes pgp_sign_as=0x9D05D0BE"
-send-hook '!(~t build ~s success)' "set pgp_autosign=yes indent_string='> ' editor='~/bin/sane_editor' autoedit=yes edit_headers=yes fast_reply=no pgp_create_traditional=no include=yes signature='~/lib/signature_stuff/pick_a_quote.pl|' pgp_sign_as=0xD98C0FBA"
-
-
# Fix the Mail-Followup-To for sdondley
send-hook . unmy_hdr "Mail-Followup-To";
send-hook "(~f sdondley@gmail.com|~f s@gmail.com|~f s@dondley.com)" my_hdr "Mail-Followup-To: Don Armstrong <don@donarmstrong.com>";
+# identities
+# default
+source "~/.mutt/identity_default"
# Debian folder hooks
-folder-hook debian- my_hdr "From: Don Armstrong <don@debian.org>"
-folder-hook bdo_role my_hdr "From: Don Armstrong <don@debian.org>"
-folder-hook bdo_role my_hdr "Reply-To: owner@bugs.debian.org"
-folder-hook bdo_role my_hdr "Cc: owner@bugs.debian.org"
-folder-hook 0_ldo_role my_hdr "From: Don Armstrong <don@debian.org>"
-folder-hook 0_ldo_role my_hdr "Reply-To: listmaster@lists.debian.org"
-folder-hook 0_ldo_role my_hdr "Cc: listmaster@lists.debian.org"
-
+folder-hook debian- "source ~/.mutt/identity_debian"
+folder-hook bdo_role "source ~/.mutt/identity_owner"
+folder-hook 0_ldo_role "source ~/.mutt/identity_listmaster"
+folder-hook !debian-|bdo_role|0_ldo_role "source ~/.mutt/identity_default"
-#reply-hook '~C don@debian.org' my_hdr "From: Don Armstrong <don@debian.org>"
+# INBOX hook
+folder-hook INBOX|outbox "reply-hook ~Cdonarm@illinois.edu|~fdonarm@illinois.edu source ~/.mutt/identity_illinois; reply-hook ~Cdon@debian.org|~fdon@debian.org source ~/.mutt/identity_debian; reply-hook !(~Cdonarm@illinois.edu|~Cdon@debian.org|~fdonarm@illinois.edu|~fdon@debian.org) source ~/.mutt/identity_default"
+folder-hook !(INBOX|outbox) "unhook reply-hook"
-macro generic ,ad my_hdr "From: Don Armstrong <don@debian.org>"
-macro generic ,an my_hdr "From: Don Armstrong <don@donarmstrong.com>"
+macro generic ,ad ":source ~/.mutt/identity_debian\r"
+macro generic ,an ":source ~/.mutt/identity_default\r"
+macro generic ,as ":source ~/.mutt/identity_illinois\r"
## "lists" adds a list of mailing lists addresses
-## so mutt knows about these for showing them in the folder indes
+## so mutt knows about these for showing them in the folder indexes
## and to allow replying to them with the command "list-reply".
## The first part of the address (up to the @) should be used here.
unlists * # remove old entries first
-lists `cd ~/Mail/lists && echo *`
-lists `cd ~/Mail/bugs && echo *`
+lists `find ~/Mail/ -mindepth 1 -maxdepth 1 \( -iname 'lists.*' -o -iname 'bugs.*' \) -type d -printf '%f '|sed 's/(lists|bugs)\.//g'`
unsubscribe *
-subscribe `cd ~/Mail/lists && echo *`
-subscribe `cd ~/Mail/bugs && echo *`
+subscribe `find ~/Mail/ -mindepth 1 -maxdepth 1 \( -iname 'lists.*' -o -iname 'bugs.*' \) -type d -printf '%f '`
## "mailboxes" defines the list of folders to be checked for new mail
## Mutt both can show the number of mailboxes with new mail in the index and
mailboxes +buildd_don
mailboxes +0_ldo_role
mailboxes +oftc
-mailboxes `for file in ~/Mail/lists/*; do echo -n "+lists/$(basename $file) "; done`
-mailboxes `for file in ~/Mail/bugs/*; do echo -n "+bugs/$(basename $file) "; done`
+mailboxes `find ~/Mail/ -mindepth 1 -maxdepth 1 \( -iname 'lists.*' -o -iname 'bugs.*' \) -type d -printf '+%f '`
# integration with org mode
macro index \eR "|~/bin/remember_mail\n"
-macro pager \eR "|~/bin/remember-mail\n"
+macro pager \eR "|~/bin/remember_mail\n"
+