From e7f451cf14317f4b84a0a5998b70b998c14af45a Mon Sep 17 00:00:00 2001 From: Ahmed Abdelhalim Date: Thu, 23 Mar 2023 03:42:50 +0100 Subject: Add the initial mutt configurations --- .config/neomutt/colors | 152 +++++++++++++++++++++ .config/neomutt/mailcap | 19 +++ .config/neomutt/mappings | 13 ++ .../neomutt/mutt-colors-solarized-dark-256.muttrc | 152 --------------------- .../neomutt/mutt-colors-solarized-light-256.muttrc | 152 --------------------- .config/neomutt/settings | 73 ++++++++++ .neomuttrc | 1 + README.md | 1 + 8 files changed, 259 insertions(+), 304 deletions(-) create mode 100644 .config/neomutt/colors create mode 100644 .config/neomutt/mailcap create mode 100644 .config/neomutt/mappings delete mode 100644 .config/neomutt/mutt-colors-solarized-dark-256.muttrc delete mode 100644 .config/neomutt/mutt-colors-solarized-light-256.muttrc create mode 100644 .config/neomutt/settings diff --git a/.config/neomutt/colors b/.config/neomutt/colors new file mode 100644 index 0000000..29c2452 --- /dev/null +++ b/.config/neomutt/colors @@ -0,0 +1,152 @@ +# vim: filetype=muttrc + +# +# +# make sure that you are using mutt linked against slang, not ncurses, or +# suffer the consequences of weird color issues. use "mutt -v" to check this. + +# custom body highlights ----------------------------------------------- +# highlight my name and other personally relevant strings +#color body color136 color234 "(ethan|schoonover)" +# custom index highlights ---------------------------------------------- +# messages which mention my name in the body +#color index color136 color234 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" +#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" +#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" +#color index color136 J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" +## messages which are in reference to my mails +#color index J_magent color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" +#color index J_magent color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" +#color index J_magent color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" +#color index J_magent color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" + +# for background in 16 color terminal, valid background colors include: +# base03, bg, black, any of the non brights + +# basic colors --------------------------------------------------------- +color normal color241 color234 +color error color160 color234 +color tilde color235 color234 +color message color37 color234 +color markers color160 color254 +color attachment color254 color234 +color search color61 color234 +#color status J_black J_status +color status color241 color235 +color indicator color234 color136 +color tree color136 color234 # arrow in threads + +# basic monocolor screen +mono bold bold +mono underline underline +mono indicator reverse +mono error bold + +# index ---------------------------------------------------------------- + +#color index color160 color234 "~D(!~p|~p)" # deleted +#color index color235 color234 ~F # flagged +#color index color166 color234 ~= # duplicate messages +#color index color240 color234 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest +#color index J_base color234 "~A~N!~T!~p!~Q!~F!~D" # the rest, new +color index color160 color234 "~A" # all messages +color index color166 color234 "~E" # expired messages +color index color33 color234 "~N" # new messages +color index color33 color234 "~O" # old messages +color index color61 color234 "~Q" # messages that have been replied to +color index color240 color234 "~R" # read messages +color index color33 color234 "~U" # unread messages +color index color33 color234 "~U~$" # unread, unreferenced messages +color index color241 color234 "~v" # messages part of a collapsed thread +color index color241 color234 "~P" # messages from me +color index color37 color234 "~p!~F" # messages to me +color index color37 color234 "~N~p!~F" # new messages to me +color index color37 color234 "~U~p!~F" # unread messages to me +color index color240 color234 "~R~p!~F" # messages to me +color index color160 color234 "~F" # flagged messages +color index color160 color234 "~F~p" # flagged messages to me +color index color160 color234 "~N~F" # new flagged messages +color index color160 color234 "~N~F~p" # new flagged messages to me +color index color160 color234 "~U~F~p" # new flagged messages to me +color index color235 color160 "~D" # deleted messages +color index color245 color234 "~v~(!~N)" # collapsed thread with no unread +color index color136 color234 "~v~(~N)" # collapsed thread with some unread +color index color64 color234 "~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 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread +color index color136 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged +color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged +color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged +color index color37 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly +color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) +#color index color136 color234 "~(~N)" # messages in threads with some unread +#color index color64 color234 "~S" # superseded messages +#color index color160 color234 "~T" # tagged messages +#color index color166 color160 "~=" # duplicated messages + +# message headers ------------------------------------------------------ + +#color header color240 color234 "^" +color hdrdefault color240 color234 +color header color241 color234 "^(From)" +color header color33 color234 "^(Subject)" + +# body ----------------------------------------------------------------- + +color quoted color33 color234 +color quoted1 color37 color234 +color quoted2 color136 color234 +color quoted3 color160 color234 +color quoted4 color166 color234 + +color signature color240 color234 +color bold color235 color234 +color underline color235 color234 +color normal color244 color234 +# +color body color245 color234 "[;:][-o][)/(|]" # emoticons +color body color245 color234 "[;:][)(|]" # emoticons +color body color245 color234 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ + |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ + |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" +color body color245 color234 "[ ][*][^*]*[*][ ]?" # more emoticon? +color body color245 color234 "[ ]?[*][^*]*[*][ ]" # more emoticon? + +## pgp + +color body color160 color234 "(BAD signature)" +color body color37 color234 "(Good signature)" +color body color234 color234 "^gpg: Good signature .*" +color body color241 color234 "^gpg: " +color body color241 color160 "^gpg: BAD signature from.*" +mono body bold "^gpg: Good signature" +mono body bold "^gpg: BAD signature from.*" + +# yes, an insance URL regex +color body color160 color234 "([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 J_magent color234 "((@(([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]\\])" + +# Various smilies and the like +#color body color230 color234 "<[Gg]>" # +#color body color230 color234 "<[Bb][Gg]>" # +#color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc... +# *bold* +#color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" +# _underline_ +#color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" +# /italic/ (Sometimes gets directory names) +#color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" +#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" + +# Border lines. +#color body color33 color234 "( *[-+=#*~_]){6,}" + +#folder-hook . "color status J_black J_status " +#folder-hook gmail/inbox "color status J_black color136 " +#folder-hook gmail/important "color status J_black color136 " + + diff --git a/.config/neomutt/mailcap b/.config/neomutt/mailcap new file mode 100644 index 0000000..4a1543c --- /dev/null +++ b/.config/neomutt/mailcap @@ -0,0 +1,19 @@ +# MS Word documents +application/msword; open -a Pages %s; nametemplate=%s.doc; copiousoutput +application/vnd.openxmlformats-officedocument.wordprocessingml.document; open -a Pages %s; nametemplate=%s.docx; copiousoutput + +application/vnd.ms-excel; open -a Numbers %s; nametemplate=%s.xls; copiousoutput +application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; open -a Numbers %s; nametemplate=%s.xlsx; copiousoutput + +# HTML +text/html; links %s; description=HTML Text; nametemplate=%s.html + +# PDFs +application/pdf; open -a Preview %s; nametemplate=%s.pdf; copiousoutput + +# Calendar +application/ics; open -a Calendar %s; nametemplate=%s.ics; copiousoutput + +# Images +image/png; open -a Preview %s; nametemplate=%s.png; copiousoutput +image/jpeg; open -a Preview %s; nametemplate=%s.jpeg; copiousoutput diff --git a/.config/neomutt/mappings b/.config/neomutt/mappings new file mode 100644 index 0000000..771b929 --- /dev/null +++ b/.config/neomutt/mappings @@ -0,0 +1,13 @@ +# vim: filetype=neomuttrc + +bind index,pager,attach g noop +macro index,pager gi "=INBOX" "open inbox" +macro index,pager gd "=Drafts" "open drafts" +macro index,pager gs "=Sent Messages" "open sent" +macro index,pager gt "=Deleted Messages" "open trash" +macro index,pager gf "?" "open mailbox..." + +# Attach PGP public key +bind compose a noop +bind compose aa attach-file +macro compose ap "`echo pm@a14m.me`" "attach public key" diff --git a/.config/neomutt/mutt-colors-solarized-dark-256.muttrc b/.config/neomutt/mutt-colors-solarized-dark-256.muttrc deleted file mode 100644 index 29c2452..0000000 --- a/.config/neomutt/mutt-colors-solarized-dark-256.muttrc +++ /dev/null @@ -1,152 +0,0 @@ -# vim: filetype=muttrc - -# -# -# make sure that you are using mutt linked against slang, not ncurses, or -# suffer the consequences of weird color issues. use "mutt -v" to check this. - -# custom body highlights ----------------------------------------------- -# highlight my name and other personally relevant strings -#color body color136 color234 "(ethan|schoonover)" -# custom index highlights ---------------------------------------------- -# messages which mention my name in the body -#color index color136 color234 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" -#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" -#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" -#color index color136 J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" -## messages which are in reference to my mails -#color index J_magent color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" -#color index J_magent color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" -#color index J_magent color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" -#color index J_magent color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" - -# for background in 16 color terminal, valid background colors include: -# base03, bg, black, any of the non brights - -# basic colors --------------------------------------------------------- -color normal color241 color234 -color error color160 color234 -color tilde color235 color234 -color message color37 color234 -color markers color160 color254 -color attachment color254 color234 -color search color61 color234 -#color status J_black J_status -color status color241 color235 -color indicator color234 color136 -color tree color136 color234 # arrow in threads - -# basic monocolor screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# index ---------------------------------------------------------------- - -#color index color160 color234 "~D(!~p|~p)" # deleted -#color index color235 color234 ~F # flagged -#color index color166 color234 ~= # duplicate messages -#color index color240 color234 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest -#color index J_base color234 "~A~N!~T!~p!~Q!~F!~D" # the rest, new -color index color160 color234 "~A" # all messages -color index color166 color234 "~E" # expired messages -color index color33 color234 "~N" # new messages -color index color33 color234 "~O" # old messages -color index color61 color234 "~Q" # messages that have been replied to -color index color240 color234 "~R" # read messages -color index color33 color234 "~U" # unread messages -color index color33 color234 "~U~$" # unread, unreferenced messages -color index color241 color234 "~v" # messages part of a collapsed thread -color index color241 color234 "~P" # messages from me -color index color37 color234 "~p!~F" # messages to me -color index color37 color234 "~N~p!~F" # new messages to me -color index color37 color234 "~U~p!~F" # unread messages to me -color index color240 color234 "~R~p!~F" # messages to me -color index color160 color234 "~F" # flagged messages -color index color160 color234 "~F~p" # flagged messages to me -color index color160 color234 "~N~F" # new flagged messages -color index color160 color234 "~N~F~p" # new flagged messages to me -color index color160 color234 "~U~F~p" # new flagged messages to me -color index color235 color160 "~D" # deleted messages -color index color245 color234 "~v~(!~N)" # collapsed thread with no unread -color index color136 color234 "~v~(~N)" # collapsed thread with some unread -color index color64 color234 "~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 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread -color index color136 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged -color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged -color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged -color index color37 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly -color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) -#color index color136 color234 "~(~N)" # messages in threads with some unread -#color index color64 color234 "~S" # superseded messages -#color index color160 color234 "~T" # tagged messages -#color index color166 color160 "~=" # duplicated messages - -# message headers ------------------------------------------------------ - -#color header color240 color234 "^" -color hdrdefault color240 color234 -color header color241 color234 "^(From)" -color header color33 color234 "^(Subject)" - -# body ----------------------------------------------------------------- - -color quoted color33 color234 -color quoted1 color37 color234 -color quoted2 color136 color234 -color quoted3 color160 color234 -color quoted4 color166 color234 - -color signature color240 color234 -color bold color235 color234 -color underline color235 color234 -color normal color244 color234 -# -color body color245 color234 "[;:][-o][)/(|]" # emoticons -color body color245 color234 "[;:][)(|]" # emoticons -color body color245 color234 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" -color body color245 color234 "[ ][*][^*]*[*][ ]?" # more emoticon? -color body color245 color234 "[ ]?[*][^*]*[*][ ]" # more emoticon? - -## pgp - -color body color160 color234 "(BAD signature)" -color body color37 color234 "(Good signature)" -color body color234 color234 "^gpg: Good signature .*" -color body color241 color234 "^gpg: " -color body color241 color160 "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# yes, an insance URL regex -color body color160 color234 "([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 J_magent color234 "((@(([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]\\])" - -# Various smilies and the like -#color body color230 color234 "<[Gg]>" # -#color body color230 color234 "<[Bb][Gg]>" # -#color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc... -# *bold* -#color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -# _underline_ -#color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -# /italic/ (Sometimes gets directory names) -#color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -#color body color33 color234 "( *[-+=#*~_]){6,}" - -#folder-hook . "color status J_black J_status " -#folder-hook gmail/inbox "color status J_black color136 " -#folder-hook gmail/important "color status J_black color136 " - - diff --git a/.config/neomutt/mutt-colors-solarized-light-256.muttrc b/.config/neomutt/mutt-colors-solarized-light-256.muttrc deleted file mode 100644 index df32b7d..0000000 --- a/.config/neomutt/mutt-colors-solarized-light-256.muttrc +++ /dev/null @@ -1,152 +0,0 @@ -# vim: filetype=muttrc - -# -# -# make sure that you are using mutt linked against slang, not ncurses, or -# suffer the consequences of weird color issues. use "mutt -v" to check this. - -# custom body highlights ----------------------------------------------- -# highlight my name and other personally relevant strings -#color body color136 color233 "(ethan|schoonover)" -# custom index highlights ---------------------------------------------- -# messages which mention my name in the body -#color index color136 color233 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P" -#color index J_cream color233 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P" -#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P" -#color index color136 J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P" -## messages which are in reference to my mails -#color index J_magent color233 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P" -#color index J_magent color233 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P" -#color index J_magent color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P" -#color index J_magent color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P" - -# for background in 16 color terminal, valid background colors include: -# base03, bg, black, any of the non brights - -# basic colors --------------------------------------------------------- -color normal color244 color233 -color error color160 color233 -color tilde color254 color233 -color message color37 color233 -color markers color160 color234 -color attachment color234 color233 -color search color61 color233 -#color status J_black J_status -color status color244 color254 -color indicator color230 color136 -color tree color136 color233 # arrow in threads - -# basic monocolor screen -mono bold bold -mono underline underline -mono indicator reverse -mono error bold - -# index ---------------------------------------------------------------- - -#color index color160 color233 "~D(!~p|~p)" # deleted -#color index color254 color233 ~F # flagged -#color index color166 color233 ~= # duplicate messages -#color index color245 color233 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest -#color index J_base color233 "~A~N!~T!~p!~Q!~F!~D" # the rest, new -color index color160 color233 "~A" # all messages -color index color166 color233 "~E" # expired messages -color index color33 color233 "~N" # new messages -color index color33 color233 "~O" # old messages -color index color61 color233 "~Q" # messages that have been replied to -color index color245 color233 "~R" # read messages -color index color33 color233 "~U" # unread messages -color index color33 color233 "~U~$" # unread, unreferenced messages -color index color244 color233 "~v" # messages part of a collapsed thread -color index color244 color233 "~P" # messages from me -color index color37 color233 "~p!~F" # messages to me -color index color37 color233 "~N~p!~F" # new messages to me -color index color37 color233 "~U~p!~F" # unread messages to me -color index color245 color233 "~R~p!~F" # messages to me -color index color160 color233 "~F" # flagged messages -color index color160 color233 "~F~p" # flagged messages to me -color index color160 color233 "~N~F" # new flagged messages -color index color160 color233 "~N~F~p" # new flagged messages to me -color index color160 color233 "~U~F~p" # new flagged messages to me -color index color254 color160 "~D" # deleted messages -color index color239 color233 "~v~(!~N)" # collapsed thread with no unread -color index color136 color233 "~v~(~N)" # collapsed thread with some unread -color index color64 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 color254 "~v~(~F)!~N" # collapsed thread with flagged, no unread -color index color136 color254 "~v~(~F~N)" # collapsed thread with some unread & flagged -color index color64 color254 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged -color index color64 color254 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged -color index color37 color254 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly -color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial) -#color index color136 color233 "~(~N)" # messages in threads with some unread -#color index color64 color233 "~S" # superseded messages -#color index color160 color233 "~T" # tagged messages -#color index color166 color160 "~=" # duplicated messages - -# message headers ------------------------------------------------------ - -#color header color245 color233 "^" -color hdrdefault color245 color233 -color header color244 color233 "^(From)" -color header color33 color233 "^(Subject)" - -# body ----------------------------------------------------------------- - -color quoted color33 color233 -color quoted1 color37 color233 -color quoted2 color136 color233 -color quoted3 color160 color233 -color quoted4 color166 color233 - -color signature color245 color233 -color bold color254 color233 -color underline color254 color233 -color normal color240 color233 -# -color body color239 color233 "[;:][-o][)/(|]" # emoticons -color body color239 color233 "[;:][)(|]" # emoticons -color body color239 color233 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\ - |FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\ - |IRL|RTFM|ROTFL|ROFL|YMMV)[*]?" -color body color239 color233 "[ ][*][^*]*[*][ ]?" # more emoticon? -color body color239 color233 "[ ]?[*][^*]*[*][ ]" # more emoticon? - -## pgp - -color body color160 color233 "(BAD signature)" -color body color37 color233 "(Good signature)" -color body color230 color233 "^gpg: Good signature .*" -color body color244 color233 "^gpg: " -color body color244 color160 "^gpg: BAD signature from.*" -mono body bold "^gpg: Good signature" -mono body bold "^gpg: BAD signature from.*" - -# yes, an insance URL regex -color body color160 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 J_magent 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]\\])" - -# Various smilies and the like -#color body color233 color233 "<[Gg]>" # -#color body color233 color233 "<[Bb][Gg]>" # -#color body color136 color233 " [;:]-*[})>{(<|]" # :-) etc... -# *bold* -#color body color33 color233 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)" -# _underline_ -#color body color33 color233 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)" -# /italic/ (Sometimes gets directory names) -#color body color33 color233 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" -#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)" - -# Border lines. -#color body color33 color233 "( *[-+=#*~_]){6,}" - -#folder-hook . "color status J_black J_status " -#folder-hook gmail/inbox "color status J_black color136 " -#folder-hook gmail/important "color status J_black color136 " - - diff --git a/.config/neomutt/settings b/.config/neomutt/settings new file mode 100644 index 0000000..231d0cc --- /dev/null +++ b/.config/neomutt/settings @@ -0,0 +1,73 @@ +# vim: filetype=neomuttrc +set editor = "vim" + +# PGP Settings +set crypt_use_gpgme = yes +set crypt_autosign = no +set crypt_verify_sig = yes +set pgp_use_gpg_agent = yes +set pgp_default_key = "0xD9FDD29DE1EA6405" +my_hdr X-PGP-Key: https://a14m.me/key.asc + +# Set preffered view modes +auto_view text/enriched text/html +alternative_order text/plain text/enriched text/html + +# Main Options +# https://neomutt.org/guide/reference.html +unset envelope_from_address # Don't use just the address for reply +set use_envelope_from # Use the From header for sending replies + +set edit_headers # show headers when composing +set fast_reply # skip to compose when replying +# set askcc # ask for CC: +set fcc_attach # save attachments with the body +set forward_format = "Fwd: %s" # format of subject when forwarding +set forward_decode # decode when forwarding +set attribution = "On %d, %n wrote:" # format of quoting header +set reply_to # reply to Reply to: field +set reverse_name # reply as the origin To +set include # include message in replies +set forward_quote # include message in forwards +unset text_flowed # don't genreate text/plain; format=flowed +# unset sig_dashes # no dashes before sig +unset mime_forward # forward attachments as part of body +# unset help # No help bar at the top of index +set status_on_top # Status bar on top of index +set tmpdir = ~/.config/neomutt/.tmp/ # where to keep temp files + +# unset confirm_append # don't ask, just do! +# set quit # don't ask, just do!! +# unset mark_old # read/new is good enough for me +# set beep_new # bell on new mails +set pipe_decode # strip headers and eval mimes when piping +set thorough_search # strip headers and eval mimes before searching + +# status bar, date format, finding stuff etc. +# set status_chars = " *%A" +set status_format = "[ Folder: %f ] [%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]%>─%?p?( %p postponed )?" +set date_format = "%d.%m.%Y %H:%M" +set sort = threads +set sort_aux = last-date-received # New mail is added at the bottom of the list +set sort_aux = reverse-last-date-received # Override the sort_aux so that new always come first/top +# set uncollapse_jump +set sort_re +set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" +# set quote_regex = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+" +set send_charset = "utf-8:iso-8859-1:us-ascii" +set charset = "utf-8" +set arrow_cursor = "no" # Change `color indicator` depending + +# # Pager View Options +set pager_index_lines = 10 # Shows 10 lines of index when pager is active +set pager_context = 3 +set pager_stop +# set menu_scroll +set tilde +# unset markers + +set mailcap_path = ~/.config/neomutt/mailcap +# # set header_cache = "~/.cache/mutt" +# # set message_cachedir = "~/.cache/mutt" + +# set query_command = "khard email --parsable --search-in-source-files '%s'" diff --git a/.neomuttrc b/.neomuttrc index b0c1967..2a4d558 100644 --- a/.neomuttrc +++ b/.neomuttrc @@ -27,6 +27,7 @@ set folder = "imaps://imap.mail.me.com:993" set spoolfile = "+INBOX" set postponed = "+Drafts" set record = "+Sent Messages" +set trash = "+Deleted Messages" # Settings files source ~/.config/neomutt/settings diff --git a/README.md b/README.md index 7d812ce..7247748 100644 --- a/README.md +++ b/README.md @@ -69,6 +69,7 @@ ln -sf ~/.rc/.neomuttrc ~/.neomuttrc ln -sf ~/.rc/.config/neomutt/settings ~/.config/neomutt/settings ln -sf ~/.rc/.config/neomutt/colors ~/.config/neomutt/colors ln -sf ~/.rc/.config/neomutt/mappings ~/.config/neomutt/mappings +ln -sf ~/.rc/.config/neomutt/mailcap ~/.config/neomutt/mailcap cd ~/.rc git remote remove origin -- cgit v1.2.3