bind index,pager | pipe-message
bind index,pager ! flag-message
-macro index,pager \ep "<pipe-message>muttprint -p TO_FILE:$tmpdir/muttprint.ps -D && gv $tmpdir/muttprint.ps && rm $tmpdir/muttprint.ps<enter>"
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 S "<tag-prefix><save-message>=store<enter><sync-mailbox>" "save messages to store"
macro 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,pager \eS "<decode-save>"
-macro index,pager \eU "<undelete-subthread>"
-macro index,pager \eD "<delete-subthread>"
+macro index \Cs '<tag-prefix><save-message>=resubmit<enter><sync-mailbox>' "resubmit messages"
+macro pager \Cs '<save-message>=resubmit<enter><sync-mailbox>' "resubmit message"
+
+macro index,pager E '<enter-command>source "$my_confdir/supersede-header X-Tickle get-timestamp|"<enter><next-undeleted><enter-command>push \Cs<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 "<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"
-macro index,pager \eR ":source $my_confdir/muttrc<enter>" "reload muttrc"
-macro compose \eR ":source $my_confdir/muttrc<enter>" "reload muttrc"
+bind index \eT tag-thread
+bind index,pager \eK mail-key
+
+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 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/urlview<enter><enter-command>set pipe_decode="$my_pipe_decode"<enter>' "invoke urlview"
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)"
+
+macro index ~ '<search>~' "shortcut to pattern search"
+macro pager ~ '<exit><search>~' "shortcut to pattern search"
-macro index F '<limit>~L ' "search for correspondents"
+bind index,pager \en search-opposite
-macro index \Co '<tag-prefix><save-message>imaps://logcheck-todo%40madduck.net:logcheck@imap.madduck.net<enter>' 'save message to logcheck-todo'
-macro pager \Co '<save-message>imaps://logcheck-todo%40madduck.net:logcheck@imap.madduck.net<enter>' 'save message to logcheck-todo'
-macro index,pager \eo '<change-folder>imaps://logcheck-todo%40madduck.net:logcheck@imap.madduck.net<enter>' 'go to logcheck todo folder'
+macro pager p '<pipe-message>less -c<enter>' "pipe message into pager"
+
+bind pager [ half-up
+bind pager ] half-down
+
+macro index,pager \eS '<enter-command>set noweed<enter><decode-save>'
+macro index,pager \eC '<enter-command>set noweed<enter><decode-copy>'
#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"
+
+macro index <F8> "<enter-command>unset wait_key<enter><shell-escape>~/.mutt/mutt-notmuch --prompt search<enter><change-folder-readonly>~/.cache/mutt_results<enter>" "search mail (using notmuch)"
+macro index <F9> "<enter-command>unset wait_key<enter><pipe-message>~/.mutt/mutt-notmuch thread<enter><change-folder-readonly>~/.cache/mutt_results<enter><enter-command>set wait_key<enter>" "search and reconstruct owning thread (using notmuch)"
-macro index \ej ':set my_editor="$editor"<enter>:source "$my_confdir/batch-subject-editor|"<enter><tag-prefix><edit>:set editor="$my_editor"<enter>' "change message subject"
+macro attach e '<enter-command>set my_mailcap_path="$mailcap_path"<enter><enter-command>set mailcap_path="~/.mutt/mailcap-edit-wrapper"<enter><view-mailcap><enter-command>set mailcap_path="$my_mailcap_path"<enter>' "edit temporary file of attachment"
# vim:sw=12:noet:sts=12:ts=12:ft=muttrc