From 6c4c6aa0e4fed80c075641374a28e4d38223fad9 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Sat, 3 Nov 2018 17:30:09 -0400 Subject: switch between imap and offlineimap depending on the machine --- Makefile | 5 +- mutt/choose-muttrc-type | 12 ++++ mutt/imap | 7 ++ mutt/muttrc | 165 ++++++++++++++++++++++++++++++++++++++++++++ mutt/offlineimap | 16 +++++ muttrc | 180 ------------------------------------------------ 6 files changed, 204 insertions(+), 181 deletions(-) create mode 100755 mutt/choose-muttrc-type create mode 100644 mutt/imap create mode 100644 mutt/muttrc create mode 100644 mutt/offlineimap delete mode 100644 muttrc diff --git a/Makefile b/Makefile index e949655..1023095 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,10 @@ INSTALL := \ .mailcap \ .mpdconf \ .msmtprc \ - .muttrc \ + .mutt/choose-muttrc-type \ + .mutt/imap \ + .mutt/muttrc \ + .mutt/offlineimap \ .ncmpcpp/bindings \ .nethackrc \ .perlcriticrc \ diff --git a/mutt/choose-muttrc-type b/mutt/choose-muttrc-type new file mode 100755 index 0000000..46b2cbe --- /dev/null +++ b/mutt/choose-muttrc-type @@ -0,0 +1,12 @@ +#!/bin/sh +set -eu +set -o pipefail + +case "$(hostname)" in +hush) + echo 'source ~/.mutt/offlineimap' + ;; +*) + echo 'source ~/.mutt/imap' + ;; +esac diff --git a/mutt/imap b/mutt/imap new file mode 100644 index 0000000..09649c9 --- /dev/null +++ b/mutt/imap @@ -0,0 +1,7 @@ +set folder="imap://doy@mail.tozt.net" +set spoolfile="=INBOX" +bind index R imap-fetch-mail +set timeout=60 +set mail_check=60 + +# vim: ft=muttrc diff --git a/mutt/muttrc b/mutt/muttrc new file mode 100644 index 0000000..a992dc4 --- /dev/null +++ b/mutt/muttrc @@ -0,0 +1,165 @@ +# folders {{{ +set record="=Sent" +set postponed="=Drafts" +set header_cache="~/.cache/mutt/headers" +set message_cachedir="~/.cache/mutt/bodies" +set mailcap_path="~/.mailcap" +# }}} +# identity {{{ +# i am "Jesse Luehrs " +set realname="Jesse Luehrs" +set from="doy@tozt.net" +# use whatever is in the From header as my envelope-from +set envelope_from +# use whatever is in the To header as my From for replies +set reverse_name +# my other email addresses +alternates ^.*@tozt.net$ ^jesse\.luehrs@iinteractive\.com$ ^doy@cpan\.org$ +# }}} +# display {{{ +# attachments {{{ +# automatically view html emails via mailcap configuration +set implicit_autoview +auto_view text/html +alternative_order text/calendar text/plain text/html +# }}} +# headers {{{ +ignore * +unignore from date to cc reply-to list-id x-mailing-list x-spam-status subject +hdr_order from date to cc reply-to list-id x-mailing-list x-spam-status subject +# }}} +# colors {{{ +color normal white black +color attachment brightyellow black +color hdrdefault cyan black +color indicator black cyan +color markers brightred black +color quoted green black +color signature cyan black +color status brightgreen blue +color tilde blue black +color tree red black + +color quoted green default +color quoted1 brightgreen default +color quoted2 green default +color quoted3 brightgreen default +color quoted4 green default +color quoted5 brightgreen default +color quoted6 green default +color quoted7 brightgreen default +color quoted8 green default +color quoted9 brightgreen default +# }}} +# misc {{{ +# no + on wrapped lines +unset markers +# show tildes at the end of messages (like vi) +set tilde +# keep some of the index shown when reading an email +set pager_index_lines=6 +# put the status bar on top +set status_on_top +# customize the status bar +set status_chars=" *%A" +set status_format="───[ %f%r (%s%?V?:%V?): %?M?%M/?%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)?%?F? (%F flagged)? ]───%?b?[ %b more ]───?───%*─(%P)───" +# customize the index view +set index_format=" %{%Y-%m-%d %H:%M} │%Z│ %-20.20L │ %s" +# }}} +# }}} +# interaction {{{ +# reading {{{ +# don't beep for errors, only new messages +unset beep +set beep_new +# scroll menus, rather than paging +set menu_scroll +# page up/page down should have one line of context +set pager_context=1 +# sort by thread, with threads with new messages last +set sort=threads +set sort_aux=last-date-received +# don't automatically move to the next message +set pager_stop +# don't use the 'old' status +unset mark_old +# notify about all folders with new mail, even if i've seen it +unset mail_check_recent +# use the decoded mail body for pipe commands and searching +set pipe_decode +set thorough_search +# }}} +# composing {{{ +# always include a copy of the message in replies +set include +# don't prompt for unnecessary things when replying and forwarding +set fast_reply +# use the Reply-To header in preference to the From header +set reply_to +# }}} +# prompts {{{ +# never automatically move read messages +unset move +# never prompt for purging deleted messages +set delete +# never prompt for appending messages to an existing mailbox +unset confirmappend +# never prompt for quitting +set quit +# }}} +# bindings {{{ +bind generic i exit +bind generic p search-opposite +bind generic ? search-reverse +bind generic B help +bind generic , enter-command + +bind pager j next-line +bind pager k previous-line +bind pager J half-down +bind pager K half-up +bind pager p search-opposite +bind pager ? search-reverse +bind pager N next-undeleted +bind pager P previous-undeleted +bind pager g top +bind pager G bottom +bind pager A group-reply + +bind index i noop +bind index next-entry +bind index previous-entry +bind index J half-down +bind index K half-up +bind index p search-opposite +bind index A group-reply +bind index g first-entry +bind index G last-entry +macro index S "set resolve=noN=spamset resolve=yes" "mark message as spam" +macro index \Cn "T~UN." "mark all messages as read" + +bind compose i exit +bind compose S ispell + +bind editor complete-query + +macro index "unset wait_keynotmuch-mutt -r --prompt search~/.cache/notmuch/mutt/resultsset wait_key" "notmuch: search mail" +macro index "unset wait_keynotmuch-mutt -r thread~/.cache/notmuch/mutt/resultsset wait_key" "notmuch: reconstruct thread" + +macro index,pager U " set my_pdsave=\$pipe_decode\ + unset pipe_decode\ + extract_url\ + set pipe_decode=\$my_pdsave" "get URLs" +# }}} +# }}} +# checking mail {{{ +# always open new imap connections when required +set imap_passive=no +# populate the mailboxes list from the imap subscription list +set imap_check_subscribed +# }}} +# aliases {{{ +set query_command = "abook --mutt-query '%s'" +# }}} +source '~/.mutt/choose-muttrc-type|' +# vim: fdm=marker diff --git a/mutt/offlineimap b/mutt/offlineimap new file mode 100644 index 0000000..6a8addb --- /dev/null +++ b/mutt/offlineimap @@ -0,0 +1,16 @@ +set mbox_type=Maildir +set folder="~/Maildir" +set spoolfile="~/Maildir/INBOX" +mailboxes = `\ + for folder in ~/Maildir/*; do\ + basename=$(basename "$folder");\ + if [ "x${basename:0:4}" != "xold." \ + -a "x$basename" != "xspam" ]; then\ + echo -n "\"=$basename\" ";\ + fi\ + done` +macro index R "unset wait_keyupdate_mailset wait_key" "fetch mail with offlineimap" +set timeout=3 +set mail_check=0 + +# vim: ft=muttrc diff --git a/muttrc b/muttrc deleted file mode 100644 index 1ad1387..0000000 --- a/muttrc +++ /dev/null @@ -1,180 +0,0 @@ -# folders {{{ -set mbox_type=Maildir -set folder="~/Maildir" -set spoolfile="~/Maildir/INBOX" -set record="=Sent" -set postponed="=Drafts" -set header_cache="~/.cache/mutt/headers" -set message_cachedir="~/.cache/mutt/bodies" -set mailcap_path="~/.mailcap" -mailboxes = `\ - for folder in ~/Maildir/*; do\ - basename=$(basename "$folder");\ - if [ "x${basename:0:4}" != "xold." \ - -a "x$basename" != "xspam" ]; then\ - echo -n "\"=$basename\" ";\ - fi\ - done` -# }}} -# identity {{{ -# i am "Jesse Luehrs " -set realname="Jesse Luehrs" -set from="doy@tozt.net" -# use whatever is in the From header as my envelope-from -set envelope_from -# use whatever is in the To header as my From for replies -set reverse_name -# my other email addresses -alternates ^.*@tozt.net$ ^jesse\.luehrs@iinteractive\.com$ ^doy@cpan\.org$ -# }}} -# display {{{ -# attachments {{{ -# automatically view html emails via mailcap configuration -set implicit_autoview -auto_view text/html -alternative_order text/calendar text/plain text/html -# }}} -# headers {{{ -ignore * -unignore from date to cc reply-to list-id x-mailing-list x-spam-status subject -hdr_order from date to cc reply-to list-id x-mailing-list x-spam-status subject -# }}} -# colors {{{ -color normal white black -color attachment brightyellow black -color hdrdefault cyan black -color indicator black cyan -color markers brightred black -color quoted green black -color signature cyan black -color status brightgreen blue -color tilde blue black -color tree red black - -color quoted green default -color quoted1 brightgreen default -color quoted2 green default -color quoted3 brightgreen default -color quoted4 green default -color quoted5 brightgreen default -color quoted6 green default -color quoted7 brightgreen default -color quoted8 green default -color quoted9 brightgreen default -# }}} -# misc {{{ -# no + on wrapped lines -unset markers -# show tildes at the end of messages (like vi) -set tilde -# keep some of the index shown when reading an email -set pager_index_lines=6 -# put the status bar on top -set status_on_top -# customize the status bar -set status_chars=" *%A" -set status_format="───[ %f%r (%s%?V?:%V?): %?M?%M/?%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)?%?F? (%F flagged)? ]───%?b?[ %b more ]───?───%*─(%P)───" -# customize the index view -set index_format=" %{%Y-%m-%d %H:%M} │%Z│ %-20.20L │ %s" -# }}} -# }}} -# interaction {{{ -# reading {{{ -# don't beep for errors, only new messages -unset beep -set beep_new -# scroll menus, rather than paging -set menu_scroll -# page up/page down should have one line of context -set pager_context=1 -# sort by thread, with threads with new messages last -set sort=threads -set sort_aux=last-date-received -# don't automatically move to the next message -set pager_stop -# don't use the 'old' status -unset mark_old -# notify about all folders with new mail, even if i've seen it -unset mail_check_recent -# use the decoded mail body for pipe commands and searching -set pipe_decode -set thorough_search -# }}} -# composing {{{ -# always include a copy of the message in replies -set include -# don't prompt for unnecessary things when replying and forwarding -set fast_reply -# use the Reply-To header in preference to the From header -set reply_to -# }}} -# prompts {{{ -# never automatically move read messages -unset move -# never prompt for purging deleted messages -set delete -# never prompt for appending messages to an existing mailbox -unset confirmappend -# never prompt for quitting -set quit -# }}} -# bindings {{{ -bind generic i exit -bind generic p search-opposite -bind generic ? search-reverse -bind generic B help -bind generic , enter-command - -bind pager j next-line -bind pager k previous-line -bind pager J half-down -bind pager K half-up -bind pager p search-opposite -bind pager ? search-reverse -bind pager N next-undeleted -bind pager P previous-undeleted -bind pager g top -bind pager G bottom -bind pager A group-reply - -bind index i noop -bind index next-entry -bind index previous-entry -bind index J half-down -bind index K half-up -bind index p search-opposite -bind index A group-reply -bind index g first-entry -bind index G last-entry -macro index R "unset wait_keyupdate_mailset wait_key" "fetch mail with offlineimap" -macro index S "set resolve=noN=spamset resolve=yes" "mark message as spam" -macro index \Cn "T~UN." "mark all messages as read" - -bind compose i exit -bind compose S ispell - -bind editor complete-query - -macro index "unset wait_keynotmuch-mutt -r --prompt search~/.cache/notmuch/mutt/resultsset wait_key" "notmuch: search mail" -macro index "unset wait_keynotmuch-mutt -r thread~/.cache/notmuch/mutt/resultsset wait_key" "notmuch: reconstruct thread" - -macro index,pager U " set my_pdsave=\$pipe_decode\ - unset pipe_decode\ - extract_url\ - set pipe_decode=\$my_pdsave" "get URLs" -# }}} -# }}} -# checking mail {{{ -# always open new imap connections when required -set imap_passive=no -# populate the mailboxes list from the imap subscription list -set imap_check_subscribed -# check mail frequently -# NOTE: change this with an account hook if a non-local account is added -set timeout=3 -set mail_check=0 -# }}} -# aliases {{{ -set query_command = "abook --mutt-query '%s'" -# }}} -# vim: fdm=marker -- cgit v1.2.3-54-g00ecf