From e966aae2dd9d90d6c2a745ecb4f5c528bd0161fe Mon Sep 17 00:00:00 2001 From: Vasil Zlatanov Date: Tue, 18 Aug 2015 01:58:09 +0200 Subject: mutt update --- Mail/README.md | 2 + Mail/mutt/alias.sh | 14 ++++++ Mail/mutt/aliases.txt | 1 + Mail/mutt/crypto.rc | 49 +++++++++++++++++++ Mail/mutt/mailcap | 2 + Mail/mutt/notify.sh | 27 +++++++++++ Mail/muttrc | 132 ++++++++++++++++++++++++++++++++++++++++++++++++++ mutt/alias.sh | 14 ------ mutt/crypto.rc | 49 ------------------- mutt/mailcap | 2 - mutt/notify.sh | 27 ----------- muttrc | 132 -------------------------------------------------- 12 files changed, 227 insertions(+), 224 deletions(-) create mode 100644 Mail/README.md create mode 100755 Mail/mutt/alias.sh create mode 120000 Mail/mutt/aliases.txt create mode 100644 Mail/mutt/crypto.rc create mode 100644 Mail/mutt/mailcap create mode 100755 Mail/mutt/notify.sh create mode 100644 Mail/muttrc delete mode 100755 mutt/alias.sh delete mode 100644 mutt/crypto.rc delete mode 100644 mutt/mailcap delete mode 100755 mutt/notify.sh delete mode 100644 muttrc diff --git a/Mail/README.md b/Mail/README.md new file mode 100644 index 0000000..ad3cbb5 --- /dev/null +++ b/Mail/README.md @@ -0,0 +1,2 @@ +ln -s ~/dotfiles/Mail/muttrc ~/.muttrc +ln -s ~/dotfiles/Mail/mutt ~/.mutt diff --git a/Mail/mutt/alias.sh b/Mail/mutt/alias.sh new file mode 100755 index 0000000..c2cb1ee --- /dev/null +++ b/Mail/mutt/alias.sh @@ -0,0 +1,14 @@ +#!/bin/bash +MESSAGE=$(cat) + +NEWALIAS=$(echo "${MESSAGE}" | grep ^"From: " | sed s/[\,\"\']//g | awk '{$1=""; if (NF == 3) {print "alias" $0;} else if (NF == 2) {print "alias" $0 $0;} else if (NF > 3) {print "alias", tolower($(NF-1))"-"tolower($2) $0;}}') + +if grep -Fxq "$NEWALIAS" $HOME/.mutt/aliases.txt; then + : +else + if [[ "$NEWALIAS" != "*Google*" ]] || [[ "$NEWALIAS" != "*no-reply*" ]]; then + echo "$NEWALIAS" >> $HOME/.mutt/aliases.txt; + fi +fi + +echo "${MESSAGE}" diff --git a/Mail/mutt/aliases.txt b/Mail/mutt/aliases.txt new file mode 120000 index 0000000..12e0fe3 --- /dev/null +++ b/Mail/mutt/aliases.txt @@ -0,0 +1 @@ +/home/vasko/Sync/Mail/aliases.txt \ No newline at end of file diff --git a/Mail/mutt/crypto.rc b/Mail/mutt/crypto.rc new file mode 100644 index 0000000..4029c3d --- /dev/null +++ b/Mail/mutt/crypto.rc @@ -0,0 +1,49 @@ +set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f" +set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f" +set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f" +set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f" +set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f" +set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" +set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? -v --batch --quiet --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" +set pgp_import_command="gpg --no-verbose --import -v %f" +set pgp_export_command="gpg --no-verbose --export --armor %r" +set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r" +set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r" +set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r" + +set pgp_use_gpg_agent = yes + +# specify the uid to use when encrypting/signing +set pgp_sign_as=0xB54608CC + +# this set the number of seconds to keep in memory the passpharse used to encrypt/sign +# the more the less secure it will be +set pgp_timeout=60 + +# it's a regexp used against the GPG output: if it matches some line of the output +# then mutt considers the message a good signed one (ignoring the GPG exit code) +set pgp_good_sign="^gpg: Good signature from" + +# mutt uses by default PGP/GPG to sign/encrypt messages +# if you want to use S-mime instead set the smime_is_default variable to yes + +# automatically sign all outgoing messages +set crypt_autosign +# sign only replies to signed messages +#set crypt_replysign + +# automatically encrypt outgoing messages +#set crypt_autoencrypt=yes +# encrypt only replies to signed messages +#set crypt_replyencrypt=yes +# encrypt and sign replies to encrypted messages +set crypt_replysignencrypted=yes + +# Use Y to not enrypt +macro compose Y pfy "send mail without GPG" + +# automatically verify the sign of a message when opened +set crypt_verify_sig=yes + +# enable inline / traditional pgp support +message-hook '!(~g|~G) ~b"^-----BEGIN\ PGP\ (SIGNED\ )?MESSAGE"' "exec check-traditional-pgp" diff --git a/Mail/mutt/mailcap b/Mail/mutt/mailcap new file mode 100644 index 0000000..136a03f --- /dev/null +++ b/Mail/mutt/mailcap @@ -0,0 +1,2 @@ +application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; rifle /tmp/mutt/$(basename %s) & +text/html; w3m -I %{charset} -T text/html; copiousoutput; diff --git a/Mail/mutt/notify.sh b/Mail/mutt/notify.sh new file mode 100755 index 0000000..a628c52 --- /dev/null +++ b/Mail/mutt/notify.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# Note to make xset led 1 and 2 work: +# +# /usr/share/X11/xkb/compat/ledcaps +# /usr/share/X11/xkb/compat/lednum +# and replace: +# !allowExplicit; +# with: +# allowExplicit; +# +#####################k +# Turns on CapsLock +# + +echo "$1" +echo "$1" | grep -q "New" > /dev/null 2>&1 +status=$? + +if [ $status -eq 0 ];then + xset led 1 + touch ~/.mutt/newmail +else + xset -led 1 +if [ -e ~/.mutt/newmail ];then + rm ~/.mutt/newmail +fi +fi diff --git a/Mail/muttrc b/Mail/muttrc new file mode 100644 index 0000000..16537b4 --- /dev/null +++ b/Mail/muttrc @@ -0,0 +1,132 @@ +# GPG config +source ~/.mutt/crypto.rc + +#Load aliases +#set alias_file=$HOME/.mutt/aliases.txt +#source $alias_file + + +#Offline Imap config +set mbox_type = Maildir +set sendmail = /usr/bin/msmtp + +set folder = ~/.mail/ +set spoolfile = "+dove/Inbox" +set mbox = "+dove/Archive" +set postponed = "+dove/Drafts" +set record = "+dove/Sent" + +mailboxes +Inbox + + +# View good/bad mails +# macro index S "~h \"X-Spam-Flag: YES\"" "Show only SPAM" +# macro index s "~h \"X-Spam-Status: No\"" "Hide SPAM" + +macro index D \ + "+dove/Trash" \ + "move message to the trash" + +#macro index S \ +# "+dove/Spam" \ +# "mark message as spam" + +# Dove conf +set from = "v@skozl.com" +set realname = "Vasil Zlatanov" + +# Save contact to CardDav +macro index,pager A "pycard-import" "add sender address to pycardsyncer" + +# Load from CardDav +set query_command="pc_query -m '%s'" + + + +# Change the following line to a different editor you prefer. +set editor = "vim" + +# Basic config, you can leave this as is +set mail_check = 1 +set timeout = 1 +unset imap_passive +set header_cache=~/.muttlocal/cache/headers +set message_cachedir=~/.muttlocal/cache/bodies +set certificate_file=~/.muttlocal/certificates +set move = no +set include +set sort = 'reverse-date-received' +#set sort_aux = 'reverse-last-date-received' +set auto_tag = yes +ignore "Authentication-Results:" +ignore "DomainKey-Signature:" +ignore "DKIM-Signature:" +hdr_order Date From To Cc +alternative_order text/plain text/html * +auto_view text/html + +# Hide crap + +ignore lines precedence status message-id x-lines x-loop x-sender +ignore nntp-posting-host old-return-path received references +ignore content- errors-to mime-version resent- return-path xref +ignore conversion original-encoded-information-types x400 x-vm- +ignore x-sun x-status x-vm- illegal-object x-authentication-warning +ignore originator x-received x-listprocessor x-mailinglist +ignore old-priority priority x-msmail-priority old-x-envelope-to +ignore x-envelope-to x-gateway x-z-charset x-forward-loop x-comment +ignore comments x-pmrqc x-face x-envelope-sender from_ x-mailing-list +ignore x-copyright x-cid-url sender x-ixthys-url x-priority +ignore x-no-junk-mail x-server-date x-phone x-mime-autoconverted +ignore x-alt-email x-orcpt company division x-warning + + +# Gmail-style keyboard shortcuts +macro index,pager gi "=dove/Inbox" "Go to inbox" +macro index,pager ga "=dove/Archive" "Go to all mail" +macro index,pager gs "=dove/Sent" "Go to sent mail" +macro index,pager gj "=dove/Spam" "Go to spam" +macro index,pager gt "=dove/Trash" "Go to trash" +macro index,pager gd "=dove/Drafts" "Go to drafts" + +# Other config +set delete +#set edit_headers +set fast_reply +unset help +set pager_stop + +# Bindings +bind index,pager "n" next-unread +bind index,pager "N" search-next + +bind browser d half-down +bind index d half-down +bind pager d half-down + +bind browser u half-up +bind index u half-up +bind pager u half-up + +bind index gg first-entry +bind pager gg top +bind index G last-entry +bind pager G bottom +bind index R group-reply + + +# Write in Aliases when opening email +set display_filter='$HOME/.mutt/alias.sh' + +# Remove + on wraps +unset markers + +# Mutt LED notification +set status_format="$HOME/.mutt/notify.sh '%r %f (%L) [Msgs:%?M?%M/?%m%?n? New:%n?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?]'|" + +# Render silly html +set mailcap_path = ~/.mutt/mailcap +folder-hook . `rm -f /tmp/mutt/*` # delete tmp files created by mailcap +auto_view text/html # view html automatically +alternative_order text/plain text/enriched text/html # save html for last + diff --git a/mutt/alias.sh b/mutt/alias.sh deleted file mode 100755 index c2cb1ee..0000000 --- a/mutt/alias.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -MESSAGE=$(cat) - -NEWALIAS=$(echo "${MESSAGE}" | grep ^"From: " | sed s/[\,\"\']//g | awk '{$1=""; if (NF == 3) {print "alias" $0;} else if (NF == 2) {print "alias" $0 $0;} else if (NF > 3) {print "alias", tolower($(NF-1))"-"tolower($2) $0;}}') - -if grep -Fxq "$NEWALIAS" $HOME/.mutt/aliases.txt; then - : -else - if [[ "$NEWALIAS" != "*Google*" ]] || [[ "$NEWALIAS" != "*no-reply*" ]]; then - echo "$NEWALIAS" >> $HOME/.mutt/aliases.txt; - fi -fi - -echo "${MESSAGE}" diff --git a/mutt/crypto.rc b/mutt/crypto.rc deleted file mode 100644 index 4029c3d..0000000 --- a/mutt/crypto.rc +++ /dev/null @@ -1,49 +0,0 @@ -set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose --batch --output - %f" -set pgp_verify_command="gpg --no-verbose --batch --output - --verify %s %f" -set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose --batch --output - %f" -set pgp_sign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --detach-sign --textmode %?a?-u %a? %f" -set pgp_clearsign_command="gpg --no-verbose --batch --output - --passphrase-fd 0 --armor --textmode --clearsign %?a?-u %a? %f" -set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f" -set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? -v --batch --quiet --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f" -set pgp_import_command="gpg --no-verbose --import -v %f" -set pgp_export_command="gpg --no-verbose --export --armor %r" -set pgp_verify_key_command="gpg --no-verbose --batch --fingerprint --check-sigs %r" -set pgp_list_pubring_command="gpg --no-verbose --batch --with-colons --list-keys %r" -set pgp_list_secring_command="gpg --no-verbose --batch --with-colons --list-secret-keys %r" - -set pgp_use_gpg_agent = yes - -# specify the uid to use when encrypting/signing -set pgp_sign_as=0xB54608CC - -# this set the number of seconds to keep in memory the passpharse used to encrypt/sign -# the more the less secure it will be -set pgp_timeout=60 - -# it's a regexp used against the GPG output: if it matches some line of the output -# then mutt considers the message a good signed one (ignoring the GPG exit code) -set pgp_good_sign="^gpg: Good signature from" - -# mutt uses by default PGP/GPG to sign/encrypt messages -# if you want to use S-mime instead set the smime_is_default variable to yes - -# automatically sign all outgoing messages -set crypt_autosign -# sign only replies to signed messages -#set crypt_replysign - -# automatically encrypt outgoing messages -#set crypt_autoencrypt=yes -# encrypt only replies to signed messages -#set crypt_replyencrypt=yes -# encrypt and sign replies to encrypted messages -set crypt_replysignencrypted=yes - -# Use Y to not enrypt -macro compose Y pfy "send mail without GPG" - -# automatically verify the sign of a message when opened -set crypt_verify_sig=yes - -# enable inline / traditional pgp support -message-hook '!(~g|~G) ~b"^-----BEGIN\ PGP\ (SIGNED\ )?MESSAGE"' "exec check-traditional-pgp" diff --git a/mutt/mailcap b/mutt/mailcap deleted file mode 100644 index 136a03f..0000000 --- a/mutt/mailcap +++ /dev/null @@ -1,2 +0,0 @@ -application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; rifle /tmp/mutt/$(basename %s) & -text/html; w3m -I %{charset} -T text/html; copiousoutput; diff --git a/mutt/notify.sh b/mutt/notify.sh deleted file mode 100755 index a628c52..0000000 --- a/mutt/notify.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# Note to make xset led 1 and 2 work: -# -# /usr/share/X11/xkb/compat/ledcaps -# /usr/share/X11/xkb/compat/lednum -# and replace: -# !allowExplicit; -# with: -# allowExplicit; -# -#####################k -# Turns on CapsLock -# - -echo "$1" -echo "$1" | grep -q "New" > /dev/null 2>&1 -status=$? - -if [ $status -eq 0 ];then - xset led 1 - touch ~/.mutt/newmail -else - xset -led 1 -if [ -e ~/.mutt/newmail ];then - rm ~/.mutt/newmail -fi -fi diff --git a/muttrc b/muttrc deleted file mode 100644 index 16537b4..0000000 --- a/muttrc +++ /dev/null @@ -1,132 +0,0 @@ -# GPG config -source ~/.mutt/crypto.rc - -#Load aliases -#set alias_file=$HOME/.mutt/aliases.txt -#source $alias_file - - -#Offline Imap config -set mbox_type = Maildir -set sendmail = /usr/bin/msmtp - -set folder = ~/.mail/ -set spoolfile = "+dove/Inbox" -set mbox = "+dove/Archive" -set postponed = "+dove/Drafts" -set record = "+dove/Sent" - -mailboxes +Inbox - - -# View good/bad mails -# macro index S "~h \"X-Spam-Flag: YES\"" "Show only SPAM" -# macro index s "~h \"X-Spam-Status: No\"" "Hide SPAM" - -macro index D \ - "+dove/Trash" \ - "move message to the trash" - -#macro index S \ -# "+dove/Spam" \ -# "mark message as spam" - -# Dove conf -set from = "v@skozl.com" -set realname = "Vasil Zlatanov" - -# Save contact to CardDav -macro index,pager A "pycard-import" "add sender address to pycardsyncer" - -# Load from CardDav -set query_command="pc_query -m '%s'" - - - -# Change the following line to a different editor you prefer. -set editor = "vim" - -# Basic config, you can leave this as is -set mail_check = 1 -set timeout = 1 -unset imap_passive -set header_cache=~/.muttlocal/cache/headers -set message_cachedir=~/.muttlocal/cache/bodies -set certificate_file=~/.muttlocal/certificates -set move = no -set include -set sort = 'reverse-date-received' -#set sort_aux = 'reverse-last-date-received' -set auto_tag = yes -ignore "Authentication-Results:" -ignore "DomainKey-Signature:" -ignore "DKIM-Signature:" -hdr_order Date From To Cc -alternative_order text/plain text/html * -auto_view text/html - -# Hide crap - -ignore lines precedence status message-id x-lines x-loop x-sender -ignore nntp-posting-host old-return-path received references -ignore content- errors-to mime-version resent- return-path xref -ignore conversion original-encoded-information-types x400 x-vm- -ignore x-sun x-status x-vm- illegal-object x-authentication-warning -ignore originator x-received x-listprocessor x-mailinglist -ignore old-priority priority x-msmail-priority old-x-envelope-to -ignore x-envelope-to x-gateway x-z-charset x-forward-loop x-comment -ignore comments x-pmrqc x-face x-envelope-sender from_ x-mailing-list -ignore x-copyright x-cid-url sender x-ixthys-url x-priority -ignore x-no-junk-mail x-server-date x-phone x-mime-autoconverted -ignore x-alt-email x-orcpt company division x-warning - - -# Gmail-style keyboard shortcuts -macro index,pager gi "=dove/Inbox" "Go to inbox" -macro index,pager ga "=dove/Archive" "Go to all mail" -macro index,pager gs "=dove/Sent" "Go to sent mail" -macro index,pager gj "=dove/Spam" "Go to spam" -macro index,pager gt "=dove/Trash" "Go to trash" -macro index,pager gd "=dove/Drafts" "Go to drafts" - -# Other config -set delete -#set edit_headers -set fast_reply -unset help -set pager_stop - -# Bindings -bind index,pager "n" next-unread -bind index,pager "N" search-next - -bind browser d half-down -bind index d half-down -bind pager d half-down - -bind browser u half-up -bind index u half-up -bind pager u half-up - -bind index gg first-entry -bind pager gg top -bind index G last-entry -bind pager G bottom -bind index R group-reply - - -# Write in Aliases when opening email -set display_filter='$HOME/.mutt/alias.sh' - -# Remove + on wraps -unset markers - -# Mutt LED notification -set status_format="$HOME/.mutt/notify.sh '%r %f (%L) [Msgs:%?M?%M/?%m%?n? New:%n?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?]'|" - -# Render silly html -set mailcap_path = ~/.mutt/mailcap -folder-hook . `rm -f /tmp/mutt/*` # delete tmp files created by mailcap -auto_view text/html # view html automatically -alternative_order text/plain text/enriched text/html # save html for last - -- cgit v1.2.3-54-g00ecf