aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2020-05-17 21:50:17 +1200
committerTom Ryder <tom@sanctum.geek.nz>2020-05-17 21:50:17 +1200
commit2cf79337ce76dc74c2dbd37b3ca6379d1e450941 (patch)
tree3f2d1bed71ca4997afa1978ad719ccb4a5d58664
parentMerge branch 'release/v8.40.0' (diff)
parentBump VERSION (diff)
downloaddotfiles-2cf79337ce76dc74c2dbd37b3ca6379d1e450941.tar.gz
dotfiles-2cf79337ce76dc74c2dbd37b3ca6379d1e450941.zip
Merge branch 'release/v8.41.0'v8.41.0
* release/v8.41.0: Overhaul Mutt macros
-rw-r--r--VERSION4
-rw-r--r--mutt/muttrc71
2 files changed, 28 insertions, 47 deletions
diff --git a/VERSION b/VERSION
index 633ddfb1..9bc6340a 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-tejr dotfiles v8.40.0
-Sun, 17 May 2020 05:19:31 +0000
+tejr dotfiles v8.41.0
+Sun, 17 May 2020 09:50:13 +0000
diff --git a/mutt/muttrc b/mutt/muttrc
index b91c66cd..a16a0088 100644
--- a/mutt/muttrc
+++ b/mutt/muttrc
@@ -125,8 +125,28 @@ bind generic,index,browser,pager \Cb previous-page
# Turn off annoying mailbox lock feature
bind index '%' noop
+# Shortcuts to jump to mailboxes; the format here is byzantine, but it copes correctly with changes to the variables
+macro generic,index,browser,pager gi \
+ '<change-folder>!<enter>' \
+ 'Change to inbox'
+macro generic,index,browser,pager gs \
+ '<change-folder><<enter>' \
+ 'Change to sent'
+macro generic,index,browser,pager gb \
+ '<change-folder>-<enter>' \
+ 'Change to previous'
+# The format here is pretty weird, but it copes correctly with changes to the
+# variable that occur *after* the macro is defined, and there isn't
+# a punctuation shortcut for it like there is for the previous three. I'd love
+# to know if there's a better way to do this that I've missed in the manual.
+macro generic,index,browser,pager gd '\
+<enter-command>push "<change-folder>$postponed"<enter><enter>' \
+ 'Change to drafts'
+
# Blindly save message to whatever box is suggested
-macro index,pager S 's<enter>' 'Save message blindly'
+macro index,pager S \
+ '<save-message><enter>' \
+ 'Save message blindly'
# Shortcut to add addresses to abook
macro index,pager A \
@@ -134,50 +154,11 @@ macro index,pager A \
'Add sender address to abook'
# Shortcut to reload configuration
-macro generic,index,browser,pager \\R \
- ':source ~/.config/mutt/muttrc<enter>:echo "Config reloaded!"<enter>' \
- 'Reload muttrc'
-
-# SpamAssassin spam tagging; Vim's muttrc syntax highlighting hates this, but
-# it *is* valid
-spam 'X-Spam-Flag: YES' 'SPAM'
-
-# Defaults for SpamAssassin training
-set my_salearn = 'sa-learn'
-set my_spam_folder = "$folder/spam"
+macro generic,index,browser,pager \\R '\
+<enter-command>unhook *<enter>\
+<enter-command>source $alias_file<enter>\
+<enter-command>echo "Reloaded with $alias_file"<enter>' \
+ "Clear hooks and reload"
# Machine or account specific settings
source ~/.config/mutt/muttrc.d/src|
-
-# These hooks and macros go *after* we're done loading user options, as they
-# bake in variables like $folder. Only hooks and macros dependent on these
-# paths should be set after this point.
-
-# Shortcuts to jump to mailboxes
-macro generic,index,browser,pager gi \
- "<change-folder>$spoolfile<enter>" \
- "Change to inbox"
-macro generic,index,browser,pager gs \
- "<change-folder>$record<enter>" \
- "Change to sent"
-macro generic,index,browser,pager gd \
- "<change-folder>$postponed<enter>" \
- "Change to drafts"
-
-# SpamAssassin spam tagging
-folder-hook . \
- 'macro index,pager \Cs \
- "<pipe-message>$my_salearn --spam<enter><save-message>$my_spam_folder<enter>" \
- "Train as spam, move to spam"'
-folder-hook . \
- 'macro index,pager \Ch \
- "<pipe-message>$my_salearn --ham<enter>" \
- "Retrain as ham"'
-folder-hook $my_spam_folder \
- 'macro index,pager \Ch \
- "<pipe-message>$my_salearn --ham<enter><save-message>!<enter>" \
- "Train as ham, move to inbox"'
-folder-hook $my_spam_folder \
- 'macro index,pager \Cs \
- "<pipe-message>$my_salearn --spam<enter>" \
- "Retrain as spam"'