# vim: filetype=neomuttrc ############ # stolen # ############ set mailcap_path = /home/yigit/.config/mutt/mailcap set date_format="%y/%m/%d %I:%M%p" set smtp_authenticators = 'gssapi:login' set rfc2047_parameters = yes set mark_old = no # Unread mail stay unread until read set mime_forward = yes # attachments are forwarded with mail set fast_reply # skip to compose when replying set fcc_attach # save attachments with the body set forward_format = "Fwd: %s" # format of subject when forwarding set forward_quote # include message in forwards set reverse_name # reply as whomever it was to set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example) auto_view text/html # automatically show html (mailcap uses w3m) auto_view application/pgp-encrypted alternative_order text/plain text/enriched text/html bind index,pager i noop bind index,pager g noop bind index \Cf noop # General rebindings bind index j next-entry bind index k previous-entry bind attach view-mailcap bind attach l view-mailcap bind editor noop bind index G last-entry bind index gg first-entry bind pager,attach h exit bind pager j next-line bind pager k previous-line bind pager l view-attachments bind index D delete-message bind index U undelete-message bind index L limit bind index h noop bind index l display-message bind index,query tag-entry macro browser h '..' "Go to parent folder" bind index,pager H view-raw-message bind browser l select-entry bind pager,browser gg top-page bind pager,browser G bottom-page bind index,pager,browser d half-down bind index,pager,browser u half-up bind index,pager S sync-mailbox bind index,pager R group-reply bind index \031 previous-undeleted # Mouse wheel bind index \005 next-undeleted # Mouse wheel bind pager \031 previous-line # Mouse wheel bind pager \005 next-line # Mouse wheel bind editor complete-query macro index \Cr "T~UN." "mark all messages as read" macro index O "mbsync -a" "run mbsync to sync all mail" macro index \Cf "unset wait_keyread -p 'Enter a search term to find with notmuch: ' x; echo \$x >~/.cache/mutt_terms~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"" "show only messages matching a notmuch pattern" macro index a "all\n" "show all messages (undo limit)" # Sidebar mappings set sidebar_visible = yes set sidebar_width = 20 set sidebar_short_path = yes set sidebar_next_new_wrap = yes set mail_check_stats bind index,pager \Ck sidebar-prev bind index,pager \Cj sidebar-next bind index,pager \Co sidebar-open bind index,pager \Cp sidebar-prev-new bind index,pager \Cn sidebar-next-new bind index,pager B sidebar-toggle-visible # Default index colors: color index yellow default '.*' color index_author red default '.*' color index_number blue default color index_subject cyan default '.*' # New mail is boldened: color index brightyellow black "~N" color index_author brightred black "~N" color index_subject brightcyan black "~N" # Tagged mail is highlighted: color index brightyellow blue "~T" color index_author brightred blue "~T" color index_subject brightcyan blue "~T" # Other colors and aesthetic settings: mono bold bold mono underline underline mono indicator reverse mono error bold color normal default default color indicator brightblack white color sidebar_highlight red default color sidebar_divider brightblack black color sidebar_flagged red black color sidebar_new green black color normal brightyellow default color error red default color tilde black default color message cyan default color markers red white color attachment white default color search brightmagenta default color status brightyellow black color hdrdefault brightgreen default color quoted green default color quoted1 blue default color quoted2 cyan default color quoted3 yellow default color quoted4 red default color quoted5 brightred default color signature brightgreen default color bold black default color underline black default color normal default default # Regex highlighting: color header blue default ".*" color header brightmagenta default "^(From)" color header brightcyan default "^(Subject)" color header brightwhite default "^(CC|BCC)" color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL color body green default "\`[^\`]*\`" # Green text between ` and ` color body brightblue default "^# \.*" # Headings as bold blue color body brightcyan default "^## \.*" # Subheadings as bold cyan color body brightgreen default "^### \.*" # Subsubheadings as bold green color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow color body brightcyan default "[;:][-o][)/(|]" # emoticons color body brightcyan default "[;:][)(|]" # emoticons color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon? color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon? color body red default "(BAD signature)" color body cyan default "(Good signature)" color body brightblack default "^gpg: Good signature .*" color body brightyellow default "^gpg: " color body brightyellow red "^gpg: BAD signature from.*" mono body bold "^gpg: Good signature" mono body bold "^gpg: BAD signature from.*" color body red default "([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<>\"]" bind generic z noop bind generic Z noop source /home/yigit/.config/mutt/accounts/1-ceng_argor.muttrc macro index,pager i1 'source /home/yigit/.config/mutt/accounts/1-ceng_argor.muttrc!;' "switch to yigit@ceng.metu.edu.tr" macro index,pager i2 'source /home/yigit/.config/mutt/accounts/2-metu_argor.muttrc!;' "switch to ysever@metu.edu.tr" macro index,pager i3 'source /home/yigit/.config/mutt/accounts/3-ceng_stu.muttrc!;' "switch to e2482057@ceng.metu.edu.tr" macro index,pager i4 'source /home/yigit/.config/mutt/accounts/4-metu_stu.muttrc!;' "switch to e248205@metu.edu.tr" macro index,pager i5 'source /home/yigit/.config/mutt/accounts/5-xyz.muttrc!;' "switch to yigit@yigitsever.com" # to set vim autocommands set tmpdir="/tmp/neomutt" # character set for outgoing messages set send_charset="utf-8" # if the incoming mail haven't set anything it's probably something dumb. set assumed_charset="cp1252" set sort=threads set sort_aux=reverse-last-date-received set strict_threads # Setting `autoedit` along with `edit_headers` makes Mutt immediately open Vim when # composing a new message. Common wisdom is to "write the introduction last". Assuming # this advice can be at all extended to writing email, it surely doesn't make sense to # prompt for a subject line before allowing composition of a mail's body. set autoedit set edit_headers # Also don't ask whether we want to recall a postponed message when hitting `m`. We can # use `R` (`recall-message`) to do that. set recall=no # update us with search/limit progress every nth message set read_inc=100 # When in the pager (reading a message), still show a few lines of the index (list of messages) for context. set pager_index_lines=10 # delete (purge/move) without prompt # include the reply by default # reply to, reply_to set delete=yes set include=yes set reply_to=yes # don't ask me to press keys after external command set wait_key=no # scroll one line up down between screen boundaries set menu_scroll # hide the line wrap + chars unset markers # From . # Don't pause to show info messages (for example when opening # another folder). # See . set sleep_time=0 # composition will never be aborted set abort_nosubject=no set abort_unmodified=no # TODO: maybe check out . set query_command="khard email --parsable '%s'" # The editor menu is "command-line mode", i.e., what you when hitting colon. # See . unset query_command # TODO: and we are immediately unsetting it, dunno why <12-10-21, yigit> # # When a message contains both plain text and HTML, prefer viewing plain text. alternative_order text/plain text/html bind editor complete-query # Customize the status line at the bottom. # The format string reduces the amount of information compared to the default and doesn't use hyphens for padding. # See . # set status_format="%f%?V?/%V? [%m%?M?, %M shown?%?n?, %n new?%?o?, %o old?%?d?, %d deleted?%?F?, %F flagged?%?t?, %t tagged?%?p?, %p postponed?] %> %P" set index_format="%2C %Z %?X?A& ? %[%e %b %y %R] %-15.15F %s (%-4.4c)" set sidebar_format = "%D%?F? [%F]?%* %?N?%N/? %?S?%S?" # See ). # Also get rid of the hyphens again. set compose_format= # Customize the status line shown when reading a message (the status line for the pager). # See . set pager_format="%s%* %P" macro index,pager \cb " urlscan" "call urlscan to extract URLs out of a message" macro attach,compose \cb " urlscan" "call urlscan to extract URLs out of a message" set crypt_autosign = no set crypt_opportunistic_encrypt = no set pgp_self_encrypt = yes set pgp_default_key = 198466C2F5664940F73A1715B87B63C533C38A88 macro index,pager A \ "khard add-email" \ "add the sender email address to khard" set sig_dashes = no set sig_on_top = yes set signature = "echo '~yigit\n'|" # TODO: this is an exciting rabbit hole <27-11-20, yigit> # # https://lwn.net/SubscriberLink/837960/f3bcafeaed37425d/ # score '~f pangin' +10 # score '~s ceng351' +20 # score "~s EDAS" 20 # color index color208 color234 "~n 10" # color index black red "~n 20" ############################ # custom body highlights # ############################ # highlight my name and other personally relevant strings color body color172 default "((Y|y)igit)? (Sever)?" ############################ # cusom index highlights # ############################ # messages which mention my name in the body color index_flags color172 color128 "~b \"(Y|y)igit\" ############################################# # deep learning-based junk mail detection # ############################################# color index_subject color239 default "EDAS" color index_author color239 default "EDAS" color index_flags color239 default "EDAS" color index_subject color239 default "~f @igi-global.com" color index_author color239 default "~f @igi-global.com" color index_flags color239 default "~f @igi-global.com" # http://www.gnuterrypratchett.com/ my_hdr X-Clacks-Overhead: GNU Terry Pratchett