diff --git a/.config/mutt/colors b/.config/mutt/colors new file mode 100644 index 0000000..bea1d49 --- /dev/null +++ b/.config/mutt/colors @@ -0,0 +1,114 @@ +# Neonwolf Color Scheme for Mutt +# Based mostly on the colors from the badwolf lightline theme +# Project: https://codeberg.org/h3xx/mutt-colors-neonwolf + +# custom body highlights ----------------------------------------------- + +# custom index highlights ---------------------------------------------- + + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# style notes: +# when bg=235, that's a highlighted message +# normal bg=233 + +# basic colors --------------------------------------------------------- +color error color196 color235 # message line error text +color tilde color81 color233 # vi-like tildes marking blank lines +color message color82 color235 +color markers brightcolor232 color222 # wrapped-line /^\+/ markers +color attachment brightcolor165 color235 # attachment headers +color search color232 color154 # search patterns in pager +color status brightcolor232 color39 +color indicator brightcolor232 color154 # selected email in index +color tree brightcolor165 color233 # arrow in threads (`-->') + +# basic monochrome screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold +mono header bold "^(From|Subject|Date|To|Cc|Bcc):" +mono quoted bold + +# index ---------------------------------------------------------------- + +color index color160 color233 "~A" # all messages +color index color166 color233 "~E" # expired messages +color index brightcolor154 color233 "~N" # new messages +color index color154 color233 "~O" # old messages +color index color244 color233 "~R" # read messages +color index brightcolor39 color233 "~Q" # messages that have been replied to +color index brightcolor154 color233 "~U" # unread messages +color index brightcolor154 color233 "~U~$" # unread, unreferenced messages +color index color222 color233 "~v" # messages part of a collapsed thread +color index color222 color233 "~P" # messages from me +#color index color39 color233 "~p!~F" # messages to me +#color index color39 color233 "~N~p!~F" # new messages to me +#color index color39 color233 "~U~p!~F" # unread messages to me +#color index color244 color233 "~R~p!~F" # messages to me +color index brightcolor165 color233 "~F" # flagged messages +color index brightcolor165 color233 "~F~p" # flagged messages to me +color index brightcolor165 color233 "~N~F" # new flagged messages +color index brightcolor165 color233 "~N~F~p" # new flagged messages to me +color index brightcolor165 color233 "~U~F~p" # new flagged messages to me +color index color232 color196 "!~N ~D" # deleted messages +color index color232 color196 "~N ~D" # deleted new messages +color index color244 color233 "~v~(!~N)" # collapsed thread with no unread +color index color81 color233 "~v~(~N)" # collapsed thread with some unread +color index color81 color233 "~N~v~(~N)" # collapsed thread with unread parent +# statusbg used to indicated flagged when foreground color shows other status +# for collapsed thread +color index color160 color233 "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index color81 color233 "~v~(~F~N)" # collapsed thread with some unread & flagged +color index color81 color233 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index color81 color233 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index color39 color233 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index color81 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +color index color222 color233 "~T" # tagged messages +color index brightcolor222 color233 "~T~F" # tagged, flagged messages +color index brightcolor222 color233 "~T~N" # tagged, new messages +color index brightcolor222 color233 "~T~U" # tagged, unread messages + +# message headers ------------------------------------------------------ + +color hdrdefault brightcolor222 color235 +color header brightcolor39 color235 "^(From|To|Cc|Bcc)" +color header brightcolor165 color235 "^(Subject|Date)" + +# body ----------------------------------------------------------------- + +color quoted color39 color235 +color quoted1 color165 color235 +color quoted2 color39 color235 +color quoted3 color222 color235 +color quoted4 color166 color235 +color signature color81 color235 # everything below /^--\s*$/ + +color bold color255 color233 +color underline color233 color244 +color normal color244 color233 + +## pgp + +color body color160 color233 "(BAD signature)" +color body color39 color233 "(Good signature)" +color body color235 color233 "^gpg: Good signature .*" +color body color241 color233 "^gpg: " +color body color241 color160 "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insane URL regex +color body brightcolor39 color233 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]" +# and a heavy handed email regex +color body brightcolor39 color233 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])" + +# simplified regex for URL & email +#color body magenta default "(ftp|https?|gopher|news|telnet|finger)://[^ \"\t\r\n]+" +#color body magenta default "[-a-z_0-9.]+@[-a-z_0-9.]+" + +# vi: ft=muttrc ts=4 sw=4 sts=4 et + diff --git a/.config/mutt/muttrc b/.config/mutt/muttrc new file mode 100644 index 0000000..dcefe90 --- /dev/null +++ b/.config/mutt/muttrc @@ -0,0 +1,10 @@ +# vim: filetype=neomuttrc + +source /home/dominic/.config/mutt/colors +source /home/dominic/.config/mutt/settings +source /usr/local/share/mutt-wizard/mutt-wizard.muttrc +source /home/dominic/.config/mutt/accounts/me@domdit.com.muttrc +macro index,pager i1 'source /home/dominic/.config/mutt/accounts/me@domdit.com.muttrc!;' "switch to me@domdit.com" +set header_cache_backend = "lmdb" + +set editor = "nvim" diff --git a/.config/mutt/settings b/.config/mutt/settings new file mode 100644 index 0000000..4ba7fc7 --- /dev/null +++ b/.config/mutt/settings @@ -0,0 +1,6 @@ +macro index A \ + "~NN." \ + "mark all new as read" + +bind index,pager e sidebar-toggle-visible +