dotfiles

Cross platform dotfiles for linux, mac and windows
git clone git@getsh.org:dotfiles.git
Log | Files | Refs

commit c1458da2d475a6de0b42e4bf4c71dba44b45f8ea
parent 88c258a7f78d622972fa1be0a2d423da78b84c9a
Author: Bharatvaj <bharatvaj@yahoo.com>
Date:   Thu,  1 Dec 2022 08:09:21 +0530

Merge branch 'main' of getsh.org:dotfiles

Diffstat:
A.config/mutt/keybindings | 68++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/mutt/muttrc | 44++++++++++++++++++++++++++++++++++++++++++++
A.config/mutt/ui | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M.config/sh/aliases | 2+-
4 files changed, 185 insertions(+), 1 deletion(-)

diff --git a/.config/mutt/keybindings b/.config/mutt/keybindings @@ -0,0 +1,68 @@ +bind index,pager i noop +bind index,pager g noop +bind index \Cf noop +bind index,pager M noop +bind index,pager C noop + +# General rebindings +bind index gg first-entry +bind index j next-entry +bind index k previous-entry +bind attach <return> view-mailcap +bind attach l view-mailcap +bind editor <space> 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 <space> tag-entry +#bind browser h goto-parent +macro browser h '<change-dir><kill-line>..<enter>' "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 <Tab> complete-query + +macro index S "<shell-escape>mbsync -c \"$XDG_CONFIG_HOME\"/isync/mbsyncrc -aV<enter>" "sync email" +macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox" +macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts" +macro index,pager gj "<change-folder>=Junk<enter>" "go to junk" +macro index,pager gt "<change-folder>=Trash<enter>" "go to trash" +macro index,pager gs "<change-folder>=Sent<enter>" "go to sent" +macro index,pager gb "<change-folder>=Business<enter>" "go to Business" +macro index,pager ga "<change-folder>=Archive<enter>" "go to archive" +macro index,pager gf "<change-folder>=Friends<enter>" "go to Friends" +macro index,pager gF "<change-folder>=Family<enter>" "go to Family" +macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox" +macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts" +macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk" +macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash" +macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent" +macro index,pager Mb ";<save-message>=Business<enter>" "move mail to Business" +macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive" +macro index,pager Mg ";<save-message>=Google<enter>" "move mail to google" +macro index,pager Mf ";<save-message>=Friends<enter>" "move mail to Friends" +macro index,pager MF ";<save-message>=Family<enter>" "move mail to Family" + +macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook" +macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read" +macro index O "<shell-escape>mw -Y<enter>" "run mw -Y to sync all mail" +macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>printf 'Enter a search term to find with notmuch: '; read x; echo \$x >~/.cache/mutt_terms<enter><limit>~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' \`\"<enter>" "show only messages matching a notmuch pattern" +macro index A "<limit>all\n" "show all messages (undo limit)" + diff --git a/.config/mutt/muttrc b/.config/mutt/muttrc @@ -0,0 +1,44 @@ +set mbox_type = Maildir + +source ~/.config/mutt/keybindings +source ~/.config/mutt/ui +source ~/.config/mutt/accounts + +# mailbox settings +set spoolfile = + +set postponed = +Drafts +set record = +Sent +set trash = +Trash + +set auto_tag=true + +auto_view text/html +set mailcap_path = ~/.config/mutt/mailcap + +set query_command= "abook --mutt-query '%s'" + +set mailcap_path = "~/.config/mutt/mailcap" +set mime_type_query_command = "file --mime-type -b %s" +set date_format="%y/%m/%d %I:%M%p" +set index_format="%D %-15.15F %s (%-4.4c)" +set sort = 'reverse-date' +set smtp_authenticators = 'gssapi:login' +set query_command = "abook --mutt-query '%s'" +set rfc2047_parameters = yes +set sleep_time = 0 +set markers = no # Disables the `+` displayed at line wraps +set mark_old = no # Unread mail stay unread until read +set mime_forward = yes # attachments are forwarded with mail +set wait_key = no # mutt won't ask "press key to continue" +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 +# TODO should we include though? +set include # include message in replies +set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example) + +auto_view text/html +auto_view application/pgp-encrypted +alternative_order text/plain text/enriched text/html diff --git a/.config/mutt/ui b/.config/mutt/ui @@ -0,0 +1,72 @@ +# 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<>\"]" + diff --git a/.config/sh/aliases b/.config/sh/aliases @@ -43,7 +43,7 @@ alias g='git' alias g=git alias l=lfcd alias le=less -alias m=gmake +alias m=make alias v="VIMINIT='' nvim" alias x=extract_archive