Here's a little bit of new functionality I've added to master for the next release. I just wanted to give a peek. (Both require enabling $muttlisp_inline_eval).
Three-way $index_format toggle. (The index-format-hook is extraneous but I'm copying from my muttrc here:)
set my_idx1 = "%Z %-20.20F %s %* (%c) %@reldate@" set my_idx2 = "%Z %-20.20F %s %* %@reldate@" set my_idx3 = "%4C %[!%a %x %X] %-15.15F %Z (%4c) %s" set index_format = $my_idx1 index-format-hook reldate "%d<24H" "%[!%X]" index-format-hook reldate "~A" "%[!%x]" macro index i '<enter-command>set index_format = \ (or \ (if (equal $index_format $my_idx1) $my_idx2) \ (if (equal $index_format $my_idx2) $my_idx3) \ $my_idx1) \ <enter>'Here's a possible 6-way toggle of date-limiting, along with an echo afterwards.
set my_limall = "~A" set my_lim1 = "~d >2w" # older than two weeks set my_lim2 = "~d <2w ~d >1w" # two weeks ago set my_lim3 = "~d <1w" # last week set my_lim4 = "~d <2d ~d >1d" # yesterday set my_lim5 = "~d <1d" # today folder-hook . "set my_curlim = $my_limall" macro index ,t '<enter-command>set my_curlim = \ (or \ (if (equal $my_curlim $my_limall) $my_lim1) \ (if (equal $my_curlim $my_lim1) $my_lim2) \ (if (equal $my_curlim $my_lim2) $my_lim3) \ (if (equal $my_curlim $my_lim3) $my_lim4) \ (if (equal $my_curlim $my_lim4) $my_lim5) \ $my_limall) \ <enter>\ <enter-command>push (concat "<" "limit" ">" $my_curlim "<" "enter" ">")<enter>\ <enter-command>echo (concat "limit set to: " $my_curlim)<enter>' -- Kevin J. McCarthy GPG Fingerprint: 8975 A9B3 3AA3 7910 385C 5308 ADEF 7684 8031 6BDA
signature.asc
Description: PGP signature