]> git.phdru.name Git - dotfiles.git/blobdiff - .muttrc
Feat(recode-filenames-recursive): Allow to omit parameters
[dotfiles.git] / .muttrc
diff --git a/.muttrc b/.muttrc
index d122b50b440d43c2d5c8e51dab55c927845e8bfe..b347d4f6d72bf02c8c243f65171eaecbded05a5a 100644 (file)
--- a/.muttrc
+++ b/.muttrc
@@ -52,7 +52,7 @@ set sort_alias=unsorted
 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.
@@ -61,7 +61,8 @@ set write_inc=10                 # Progress indicator when writing 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
@@ -70,7 +71,6 @@ set forward_format="[Fwd: %s]"   # Subject to use when forwarding messages
 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
@@ -79,7 +79,7 @@ set move=no                      # Do not move read messages to ~/mbox
 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
@@ -91,6 +91,7 @@ set suspend=no                   # Do not suspend on Ctrl+Z
 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
 
@@ -116,6 +117,7 @@ alternative_order text/enriched text/plain text
 # Encryption: GnuPG
 #
 source /usr/share/doc/mutt/examples/gpg.rc
+set crypt_use_gpgme=no
 set pgp_use_gpg_agent
 
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -152,7 +154,7 @@ my_hdr X-Attribution: phd
 
 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
 
@@ -163,9 +165,9 @@ 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
@@ -180,9 +182,10 @@ subscribe (python-(announce|dev|ideas)|.*-(list|sig))@python\.org \
 
 # 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"
 
@@ -237,9 +240,13 @@ fcc-hook .* =sent-mail
 
 # 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$'" "\
@@ -247,25 +254,34 @@ 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
@@ -283,41 +299,96 @@ bind index,pager <Esc>S decode-save
 # 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> \
-   r: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_Enter -> Enter
+#macro generic,pager,editor <F79> <Enter>
+# KP_Home -> Home
+macro generic,pager,editor <F84> <Home>
+# KP_Up -> Up
+macro generic,pager,editor \1074 <Up>
+# KP_Next -> PageUp
+macro generic,pager,editor <F85> <PageUp>
+# KP_Left -> Left
+macro generic,pager,editor \1075 <Left>
+# KP_Right -> Right
+macro generic,pager,editor \1076 <Right>
+# KP_End -> End
+macro generic,pager,editor <F87> <End>
+# KP_Down -> Down
+macro generic,pager,editor \1077 <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,attach <Esc>h \
+   ":auto_view text/html<Enter>" \
+   "View HTML attachments"
+macro index,pager,attach <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"
+
+macro index,pager \cV "<show-version>" \
+   "Show version"
+
+macro index,pager V "v/text/html<Enter>V" \
+   "View the 1st html attachment in a web browser"
+macro attach V "<save-entry>~/tmp/_xxx.html<Enter>n<shell-escape>webbrowser -n ~/tmp/_xxx.html; exec rm ~/tmp/_xxx.html<Enter><exit>" \
+   "View html attachment in a web browser"
 
 # Go to python mailbox
-macro index,pager Y <Enter><exit><Home><change-folder>=lists/python<Enter>
-
-# 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 Y \
+   <Home><change-folder>=lists/python<Enter> \
+   "Go to python"
+macro pager,attach Y \
+   <exit><Home><change-folder>=lists/python<Enter> \
+   "Go to python"
 
 # 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"
 
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 #
@@ -362,7 +433,7 @@ color tilde       blue           default
 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/]"