set sort_browser=alpha
set history=1000 # Number of lines of history in memory
-set history_file==tmp/.mutt-history
+set history_file==tmp/.mutt_history
set save_history=1000 # Number of lines of history in file
set read_inc=10 # Progress indicator when reading folders.
set allow_8bit # Never do Q-P encoding on legal 8-bit chars
set abort_unmodified=no # Let me send empty messages
set alias_file==tmp/aliases # Where to store aliases
-set attribution="`case "$LC_TIME" in ru_RU*) echo 'В %{%a, %d %b %Y в %I:%M:%S%p %Z} %f написал(а):' ;; *) echo 'On %d, %f wrote:' ;; esac`"
+set attribution="`case "$LC_TIME" in ru_RU*) echo 'В %{%a, %d %b %Y в %I:%M:%S%p %Z} %f написал(а):' ;; *) echo 'On %d, %f wrote:' ;; esac`" # `
+set attribution_locale=`echo $LC_TIME` # Locale to format dates
set beep=no # Never beep on errors
set collapse_unread=no # Do not collapse thread with unread messages
set confirmappend=no # Don't ask me if i want to append to mailboxes
set help # Show the help lines
set ignore_list_reply_to # Ignore Reply-To headers pointing to mailing lists.
set include=yes # Always include a copy when replying.
-set locale=`echo $LC_TIME` # Locale to format dates
set mail_check=30 # How often (in seconds) to poll for new mail
set mark_old=no # Distinguish between seen (but unread) and new messages
set mask="" # Show dot-files in the file browser
set pager_context=1 # No. of lines of context to give when scrolling
set pager_index_lines=6 # How many index lines to show in the pager
set pager_stop # Don't move to the next message on next-page
-set postponed==tmp/.mutt-postponed
+set postponed==tmp/.mutt_postponed
set print=ask-no # Don't waste paper
set recall=no # When I say "compose", ask me whether I want to continue composing a postponed message.
set reply_regexp="^((re([\\[0-9\\]+])*|aw|на):[ \t]*)+[ \t]*" # A regular expression to detect replies
set tilde # Indicate empty lines in the pager.
set tmpdir=~/tmp # Temporary files aren't stored in public places.
set use_domain=no # Don't qualify local addresses with $domain
+set use_envelope_from=yes
set use_ipv6=no # Speed up DNS
set wait_key=no # Do not wait for a key after running external programs, pipes
# Encryption: GnuPG
#
source /usr/share/doc/mutt/examples/gpg.rc
+set crypt_use_gpgme=no
set pgp_use_gpg_agent
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
my_hdr X-Face: \"4chVP^f8\;3Bi>x\"ic0%DuP(ZLyn:\;kzQ1njs]5,GRZG<{<\\~\`|Shxi7|)d|8uO~HFRfyym\n\
{[xs@OYG]2Q]0\#}0sjJp\`1^1+B6]A2+{9fW=S<O7^\"hul]^|AGtiI7SkYF-2VD?UH*h_!zuCIf+^F7\n\
- c0x8?W,UfhCAx^YY\#1ALhvG\\2yG}LW:)zw\#1\;Yajq\"hK~S
+ c0x8?W,UfhCAx^YY\#1ALhvG\\2yG}LW:)zw\#1\;Yajq\"hK~S # `
my_hdr X-Operating-System: Debian GNU/Linux
# lists <list-name> [ <list-name> ... ]
subscribe (python-(announce|dev|ideas)|.*-(list|sig))@python\.org \
- core-workflow@python\.org \
- .*@moderators\.isc\.org .*@lists\.sourceforge\.net \
+ core-workflow@python\.org .*@moderators\.isc\.org \
(durus|quixote)-users@mems-exchange\.org pysqlite@lists\.initd\.org \
+ .*@lists\.sourceforge\.net .*@vex\.net egenix-users@egenix\.com \
.*@googlegroups\.com mlug@unixcenter\.ru
#lists
# Restore defaults
folder-hook .* "\
+ set envelope_from_address="phd@phdru.name"; \
my_hdr From: Oleg Broytman <phd@phdru.name>; \
my_hdr Reply-To: Oleg Broytman <phd@phdru.name>; \
- my_hdr X-Url: http://phdru.name/; \
+ my_hdr X-Url: https://phdru.name/; \
set record==sent-mail; \
set signature==signatures/phd@phdru.name"
# Restore defaults
send-hook .* "\
+ set envelope_from_address="phd@phdru.name"; \
+ set followup_to=yes; \
my_hdr From: Oleg Broytman <phd@phdru.name>; \
my_hdr Reply-To: Oleg Broytman <phd@phdru.name>; \
- my_hdr X-Url: http://phdru.name/; \
+ my_hdr X-Url: https://phdru.name/; \
+ unmy_hdr Mail-Followup-To; \
+ unmy_hdr X-Skip-DKIM-Sig; \
set signature==signatures/phd@phdru.name"
send-hook "~L '@.*\.(r|s)u$'" "\
my_hdr Reply-To: Олег Бройтман <phd@phdru.name>; \
set signature='iconv -f koi8-r ~/mail/signatures/phd@phdru.name-ru|'"
-send-hook "~L '@(mail|list|inbox|bk)\.ru'" "\
+send-hook "~L '@(mail|list|inbox|bk|sweb|spaceweb|ulmart)\.ru'" "\
+ set envelope_from_address="phd@mail.ru"; \
my_hdr From: Олег Бройтман <phd@mail.ru>; \
my_hdr Reply-To: Олег Бройтман <phd@mail.ru>; \
- my_hdr X-Url: http://my.mail.ru/mail/phd; \
+ my_hdr X-Url: https://my.mail.ru/mail/phd; \
set signature='iconv -f koi8-r ~/mail/signatures/phd@mail.ru|'"
send-hook "~L '(@|\.)(((ya|yandex|narod)\.ru)|(yandex\.com)|yandex-team\.ru)$'" "\
+ set envelope_from_address="phd2@yandex.ru"; \
my_hdr From: Олег Бройтман <phd2@yandex.ru>; \
my_hdr Reply-To: Олег Бройтман <phd2@yandex.ru>; \
my_hdr X-Url: http://phd2.ya.ru/; \
set signature='iconv -f koi8-r ~/mail/signatures/phd2@yandex.ru|'"
-send-hook ~u unmy_hdr Reply-To
-
send-hook "~L python-announce-list@python\.org" "\
set followup_to=no; \
my_hdr Reply-To: Oleg Broytman <phd@phdru.name>; \
my_hdr Mail-Followup-To: Oleg Broytman <phd@phdru.name>, Python Mailing List <python-list@python.org>"
+send-hook "~L cheetahtemplate-announce@lists\.sourceforge\.net" "\
+ set followup_to=no; \
+ my_hdr Reply-To: Oleg Broytman <phd@phdru.name>; \
+ my_hdr Mail-Followup-To: Oleg Broytman <phd@phdru.name>, CheetahTemplate discussion <cheetahtemplate-discuss@lists.sourceforge.net>"
+
+send-hook ~u "\
+ unmy_hdr Reply-To; \
+ my_hdr X-Skip-DKIM-Sig: mailing list"
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
# Key bindings
# Macros
#
-# Go to the first folder with unread messages
-macro index,pager C <Enter><exit><Home><change-folder><Enter>
-
-# Move current message to inbox
-macro index,pager S <save-message>!<Enter>
-
-macro index,pager <Esc>h ":auto_view text/html<Enter>"
-macro index,pager <Esc>H ":unauto_view text/html<Enter>"
-
-# Pipe spam
-macro index,pager <Esc>s \
- "<Enter><exit><pipe-message>spamassassin -d | ~/mail/bin/spamcop.py<Enter><next-undeleted>"
-macro index,pager <Esc>z \
- "<Enter><exit>:set editor='vim -s ~/mail/misc/spamcop.vim'<Enter><reply>:set editor=vim.sh<Enter><exit><next-undeleted>"
-
-# Go to main mailboxes
-macro index,pager H <Enter><exit><Home><change-folder>!<Enter>
-macro index,pager M <Enter><exit><Home><change-folder>=sent-mail<Enter>
+# KP_Home -> Home
+macro generic,pager,editor <F84> <Home>
+# KP_Up -> Up
+macro generic,pager,editor \x20b <Up>
+# KP_Next -> PageUp
+macro generic,pager,editor <F85> <PageUp>
+# KP_Left -> Left
+macro generic,pager,editor \x20c <Left>
+# KP_Right -> Right
+macro generic,pager,editor \x20d <Right>
+# KP_End -> End
+macro generic,pager,editor <F87> <End>
+# KP_Down -> Down
+macro generic,pager,editor \x20e <Down>
+# KP_Prev -> PageDown
+macro generic,pager,editor <F88> <PageDown>
+
+macro index C \
+ <Home><change-folder><Enter> \
+ "Go to the first folder with unread messages"
+macro pager,attach C \
+ <exit><Home><change-folder><Enter> \
+ "Go to the first folder with unread messages"
+
+macro index,pager S \
+ <save-message>!<Enter> \
+ "Move current message to inbox"
+
+macro index,pager <Esc>h \
+ ":auto_view text/html<Enter>" \
+ "View HTML attachments"
+macro index,pager <Esc>H \
+ ":unauto_view text/html<Enter>" \
+ "Don't show HTML attachments"
+
+macro index <Esc>s \
+ "<pipe-message>spamassassin -d | ~/mail/bin/spamcop.py<Enter><next-undeleted>" \
+ "Send spam to SpamCop"
+macro pager <Esc>s \
+ "<exit><pipe-message>spamassassin -d | ~/mail/bin/spamcop.py<Enter><next-undeleted>" \
+ "Send spam to SpamCop"
+macro index <Esc>z \
+ ":set editor='vim -s ~/mail/misc/spamcop.vim'<Enter><reply>:set editor=vim.sh<Enter><exit>n" \
+ "Process message from SpamCop"
+macro pager <Esc>z \
+ "<exit>:set editor='vim -s ~/mail/misc/spamcop.vim'<Enter><reply>:set editor=vim.sh<Enter><exit>n" \
+ "Process message from SpamCop"
+
+macro index H \
+ <Home><change-folder>!<Enter> \
+ "Go to inbox"
+macro pager,attach H \
+ <exit><Home><change-folder>!<Enter> \
+ "Go to inbox"
+macro index M \
+ <Home><change-folder>=sent-mail<Enter> \
+ "Go to sent-mail"
+macro pager,attach M \
+ <exit><Home><change-folder>=sent-mail<Enter> \
+ "Go to sent-mail"
# Go to python mailbox
-macro index,pager Y <Enter><exit><Home><change-folder>=lists/python<Enter>
+macro index Y \
+ <Home><change-folder>=lists/python<Enter> \
+ "Go to python"
+macro pager,attach Y \
+ <exit><Home><change-folder>=lists/python<Enter> \
+ "Go to python"
# Go to STCnet "Atlas"/STM mailboxes
-macro index,pager A <Enter><exit><Home><change-folder>=stcnet<Enter>
-macro index,pager <Esc>a <Enter><exit><Home><change-folder>=sent-stcnet<Enter>
+macro index \ca \
+ <Home><change-folder>=stcnet<Enter> \
+ "Go to stcnet inbox"
+macro pager,attach \ca \
+ <exit><Home><change-folder>=stcnet<Enter> \
+ "Go to stcnet inbox"
+macro index A \
+ <Home><change-folder>=sent-stcnet<Enter> \
+ "Go to sent-stcnet"
+macro pager,attach A \
+ <exit><Home><change-folder>=sent-stcnet<Enter> \
+ "Go to sent-stcnet"
# Recode base64 to 8bit, html to plain text, mustdie-1251 to koi8-r, etc.
-macro index,pager <Esc>m "<pipe-message>mimedecode.py | less<Enter>"
+macro index,pager \
+ <Esc>m "<pipe-message>mimedecode | less<Enter>" \
+ "View MIME-decoded message"
macro index,pager E \
- ":set editor=mimedecode.sh<Enter><edit>:set editor=vim.sh<Enter>"
+ ":set editor=mimedecode.sh<Enter><edit>:set editor=vim.sh<Enter>" \
+ "MIME-decode and save"
-# Convert X-Face header to an image and display it
-macro index,pager <Esc>f <pipe-message>~/mail/bin/view-x-face<Enter>
+macro index,pager <Esc>f \
+ <pipe-message>~/mail/bin/view-x-face<Enter> \
+ "Convert X-Face header to an image and display it"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#
color tree blue default
# email
-color body brightblue default [-a-Z_0-9.+]+@[-a-Z_0-9.]+
+color body brightmagenta default [-a-Z_0-9.+]+@[-a-Z_0-9.]+
# URLs
color body brightblue default "(((https?|ftp|gopher|telnet)://|(mailto|file|news|about|ed2k|irc|sip|magnet):)[^' \t<>\"]+)[A-Za-z0-9/]"