+macro generic,pager <F1> "<shell-escape> zcat /usr/share/doc/mutt/manual.txt.gz | sensible-pager<enter>" "show Mutt documentation"
+
bind index,pager | pipe-message
bind index,pager ! flag-message
-bind index,pager \ep print-message
+bind index,pager \eP print-message
bind index,pager <up> previous-entry
bind index,pager <down> next-entry
-bind index,pager p previous-undeleted
-bind index,pager n next-undeleted
-#bind pager <up> previous-line
-#bind pager <down> next-line
-#bind index,pager <left> previous-undeleted
-#bind index,pager <right> next-undeleted
+bind index,pager \eU undelete-subthread
+bind index,pager \eD delete-subthread
+
+bind index 0 first-entry
+bind index G last-entry
+bind pager 0 top
+bind pager G bottom
bind pager,index <backtab> previous-unread
-#macro pager,index p ":<enter>" "do nothing"
+macro index p "<enter-command><enter>" "do nothing"
-##bind index p previous-undeleted
-##bind index n next-undeleted
+bind index h noop
##macro index L "<list-reply><save-message>=store<enter>"
-macro index,pager S "<save-message>=store<enter><sync-mailbox>" "save message to store"
-macro index,pager E ':set my_editor="$editor"<enter>:set editor="$my_confdir/add-tickle-stamp"<enter><edit><toggle-new><save-message>=resubmit<enter><sync-mailbox>:set editor="$my_editor"<enter>' "schedule message with tickler"
+macro index S "<tag-prefix><save-message>=store<enter>" "save messages to store"
+macro pager S "<save-message>=store<enter>" "save message to store"
+
+macro index,pager E '<enter-command> source "$my_confdir/supersede-header X-Tickle get-timestamp|"<enter><next-undeleted><enter-command> push S<enter>' "schedule messages with tickler"
+macro index,pager \ex '<enter-command> source "$my_confdir/remove-header X-Postponed|"<enter>' "release postponed messages"
-macro index,pager \eS "<decode-save>"
-macro index,pager \eU "<undelete-subthread>"
-macro index,pager \eD "<delete-subthread>"
macro index,pager \es "<change-folder>=store<enter>" "go to store folder"
+macro index,pager \ec "<change-folder>=debian/debconf<enter>" "go to debconf folder"
macro index,pager \ed "<change-folder>=debian<enter>" "go to debian folder"
macro index,pager \ei "<change-folder>=inbox<enter>" "go to inbox folder"
-macro index,pager \eu "<change-folder>=ul<enter>" "go to ul folder"
-macro index,pager \ea "<change-folder>=admin<enter>" "go to admin folder"
+macro index,pager \ea "<change-folder>=ardex<enter>" "go to ardex folder"
+macro index,pager \ek "<change-folder>=kbkg<enter>" "go to kbkg folder"
+macro index,pager \eu "<change-folder>=uniwh<enter>" "go to uniwh folder"
+macro index,pager \et "<change-folder>=toni<enter>" "go to toni folder"
+
+bind index \eT tag-thread
+bind index,pager \eK mail-key
-macro index,pager \eR ":source $my_confdir/muttrc<enter>" "reload muttrc"
-macro compose \eR ":source $my_confdir/muttrc<enter>" "reload muttrc"
+macro index,pager \eR "<enter-command> source $my_confdir/muttrc<enter>" "reload muttrc"
+macro compose \eR "<enter-command> source $my_confdir/muttrc<enter>" "reload muttrc"
-macro index,pager X "<save-message>=retrain/spam<enter>" "retrain message as spam"
-macro index,pager Z "<save-message>=retrain/ham<enter>" "retrain message as ham"
+macro index X "<tag-prefix><save-message>=retrain/spam<enter>" "retrain message as spam"
+macro pager X "<save-message>=retrain/spam<enter>" "retrain message as spam"
+macro index Z "<tag-prefix><save-message>=retrain/ham<enter>" "retrain message as ham"
+macro pager Z "<save-message>=retrain/ham<enter>" "retrain message as ham"
-macro index,pager \Cb ':set my_pipe_decode="$pipe_decode"<enter>:set pipe_decode<enter><pipe-message>/usr/bin/urlview<enter>:set pipe_decode="$my_pipe_decode"<enter>' "invoke urlview"
+macro index,pager \Cb "<enter-command> set my_pipe_decode=\$pipe_decode<enter><enter-command> set pipe_decode<enter><pipe-message>/usr/bin/urlscan<enter><enter-command> set pipe_decode=\$my_pipe_decode<enter>" "invoke urlscan"
macro compose Y '<edit-fcc><kill-line><enter><send-message>' "send message without storing"
-macro compose \Cy '<pgp-menu>cY' "send message without storing or signing"
+macro compose \Cy '<pgp-menu>c<send-message>' "send message without signing"
+macro compose \CY '<pgp-menu>cY' "send message without storing signing"
+macro compose N '<enter-command> unset fcc_attach<enter>' "do not fcc-store attachment"
+
+macro index,pager F '<limit>~L ' "search for correspondents"
+macro index,pager \ef '<limit>~(~L )<left>' "search for correspondents (show complete threads)"
+
+bind index,pager \en search-opposite
+
+macro pager p '<pipe-message>less -c<enter>' "pipe message into pager"
-macro index F '<limit>~L ' "search for correspondents"
+bind pager [ half-up
+bind pager ] half-down
+
+macro index,pager \eS "<enter-command> set my_weed=\$weed<enter><enter-command> set my_resolve=\$resolve<enter><enter-command> set noweed noresolve<enter><decode-save>^<enter><next-entry><clear-flag>n<enter-command> set weed=\$my_weed<enter><enter-command> set resolve=\$my_resolve<enter>" "decode message to current folder"
#TODO this is a hack until switch-profile does not readd headers.
-macro compose e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit-headers>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"
-macro index,pager e ':set my_editor="$editor"<enter>:set editor=sensible-editor<enter><edit>:set editor="$my_editor"<enter>' "invoke normal editor to edit message"
+macro compose e "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=sensible-editor<enter><edit-headers><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+macro index,pager e "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=sensible-editor<enter><edit><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+
+macro index \ej "<enter-command> set my_editor=\$editor<enter><enter-command> source $my_confdir/batch-subject-editor|<enter><tag-prefix><edit><enter-command> set editor=\$my_editor<enter>" "change message subject"
+
+macro index,pager \er "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=\"~/.mutt/reuse-message \$my_editor\"<enter><reply><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+macro index,pager \eg "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=\"~/.mutt/reuse-message \$my_editor\"<enter><group-reply><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+macro index,pager \el "<enter-command> set my_editor=\$editor<enter><enter-command> set editor=\"~/.mutt/reuse-message \$my_editor\"<enter><list-reply><enter-command> set editor=\$my_editor<enter>" "invoke normal editor to edit message"
+
+# override F6 from notmuch-mutt
+macro index <F6> "<enter-command><enter>" "do nothing"
+
+macro attach e "<enter-command> set my_mailcap_path=\$mailcap_path<enter><enter-command> set mailcap_path=~/.mutt/mailcap.editing<enter><view-mailcap><enter-command> set mailcap_path=\$my_mailcap_path<enter>" "edit temporary file of attachment"
+
+macro index,pager M "<enter-command> set my_weed=\$weed<enter><enter-command> set noweed<enter><pipe-message>formail -czx X-RSS-URL: | xargs sensible-browser<enter><enter-command> set weed=\$my_weed<enter>"
+
+macro index,pager <F10> "<enter-command> set my_pipe_decode=\$pipe_decode<enter><enter-command> unset pipe_decode<enter><pipe-message>~/.mutt/viewmailattachments<enter><enter-command> set pipe_decode=\$my_pipe_decode<enter>" "view attachments in browser"
# vim:sw=12:noet:sts=12:ts=12:ft=muttrc