dotfiles

configuration files for shell, text editor, graphical environment, etc.
git clone git://src.adamsgaard.dk/dotfiles # fast
git clone https://src.adamsgaard.dk/dotfiles.git # slow
Log | Files | Refs | README | LICENSE Back to index

muttrc (11559B)


      1 set folder = "~/.mail"
      2 source "~/.config/mutt/mailboxes"
      3 set spoolfile = "+adamsgaard/INBOX"
      4 
      5 # Account-specific settings
      6 folder-hook adamsgaard 'set \
      7         from="Anders Damsgaard <anders@adamsgaard.dk>"\
      8         realname="Anders Damsgaard"\
      9         record=+adamsgaard/Sent\
     10         postponed=+adamsgaard/Drafts'
     11         #sendmail = "msmtp -a adamsgaard"'
     12 
     13 # ignore own e-mail addresses from group-reply
     14 alternates anders@adamsgaard.dk|anders@andersdamsgaard.com|anders@andersdamsgaard.dk|prints@andersdamsgaard.com|prints@andersdamsgaard.dk|adamsgaard@ucsd.edu|adamsgaard@mail.ucsd.edu|andersd@risuep.net|andersdc@gmail.com|adc@geo.au.dk|anders.damsgaard@au.dk|anders.damsgaard@geo.au.dk|andersd@princeton.edu|andersd@exchange.Princeton.EDU|anders.damsgaard@noaa.gov
     15 
     16 # mailing lists I'm subscribed to
     17 subscribe arch-announce@archlinux.org arch-events@archlinux.org arch-general@archlinux.org arch-general@archlinux.org arch-security@archlinux.org
     18 subscribe basilisk-fr@googlegroups.com
     19 subscribe -group cryolist .*@cryolist.org .*@lists.cryolist.org
     20 subscribe debian-announce@lists.debian.org debian-news@lists.debian.org debian-security@lists.debian.org debian-security-announce@lists.debian.org debian-user-danish@lists.debian.org
     21 subscribe mutt-users@mutt.org
     22 subscribe qgis-user@lists.osgeo.org
     23 subscribe dev@suckless.org hackers@suckless.org news@suckless.org wiki@suckless.org
     24 subscribe tmux-users@googlegroups.com
     25 subscribe vtkusers@vtk.org paraview@paraview.org
     26 
     27 # cache files
     28 set header_cache=~/.config/mutt/cache
     29 set message_cachedir=~/.config/mutt/cache
     30 
     31 # sort threads by date
     32 set sort=threads
     33 set sort_aux=last-date-received
     34 
     35 set charset=utf-8
     36 set config_charset=utf-8
     37 set noallow_8bit
     38 set ascii_chars=no    # set to yes if terminal cannot display thread symbols
     39 set send_charset="utf-8"
     40 set assumed_charset="iso-8859-1"
     41 set meta_key=yes
     42 set attribution="* %n <%a> [%{%Y-%m-%d %H:%M:%S %Z}]:\n"
     43 set edit_headers      # edit the message headers.
     44 set fast_reply=yes    # skip initial prompts when replying
     45 #set editor="$EDITOR +'normal G' -c 'set ft=mail noautoindent spell spelllang=en_us,da'"  # vim
     46 set editor="EXINIT='source $HOME/.exrc|set wl=72' nvi"
     47 #set editor="$EDITOR"
     48 set nomark_old        # Don't mark unread new msgs as old.
     49 set mime_forward      # Forward message as MIME attachments.
     50 set pager_context=3   # Display 3 lines of context in pager.
     51 set nostrict_threads  # Lets have some fuzzy threading.
     52 set fcc_clear         # Keep fcc's clear of signatues and encryption.
     53 set signature=""      # Unset signature by default
     54 set pipe_decode       # decode messages when piping
     55 set text_flowed       # label messages as format-flowed
     56 set sleep_time=0      # speed up IMAP folders switch
     57 set help=no           # disable top help bar
     58 set ispell="aspell -e -c"
     59 set tilde            # Fill out messages with '~'.
     60 set read_inc=100     # Read counter ticks every 100 msgs.
     61 set write_inc=100    # Write counter ticks every 100 msgs.
     62 set noconfirmappend  # Just append, don't hassle me.
     63 set pager_stop=yes   # Stop at end of mail instead of displaying next mail
     64 set smart_wrap=yes   # wrap long lines at a word boundary
     65 set markers=no       # show + symbol at the start of wrapped lines
     66 set user_agent=no    # do not add "User-Agent:" header to outgoing messages
     67 set rfc2047_parameters=yes   # handle RFC2047-encoded attachments
     68 
     69 # What we consider to be a quote
     70 set quote_regexp="^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
     71 set to_chars=" +TCF "   # Drop the "L".
     72 
     73 # Display download progress every 5K
     74 set net_inc=5
     75 
     76 # When viewing a message, show the pager in # lines above
     77 set pager_index_lines=5
     78 
     79 # Mail check interval
     80 set timeout = 15
     81 
     82 set alias_file=~/.config/mutt/aliases  # Save aliases here
     83 set sort_alias = alias  # sort alias list when displayed in mutt
     84 set reverse_alias = yes # sort in reverse order
     85 source ~/.config/mutt/aliases  # Load in my aliases.
     86 
     87 # from `gpg --list-keys anders@adamsgaard.dk`
     88 set pgp_default_key=0x5C959DF243CE4DD17A5B2610B790F4AD1BF858FE
     89 set crypt_autosign=no
     90 set crypt_replysign=yes
     91 set crypt_replyencrypt=yes
     92 set crypt_replysignencrypted=yes
     93 set postpone_encrypt=no
     94 
     95 ## gpg setup from doc/mutt/samples/gpg.rc
     96 set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
     97 set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f"
     98 set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
     99 set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f"
    100 set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f"
    101 set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
    102 set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
    103 set pgp_import_command="gpg --no-verbose --import %f"
    104 set pgp_export_command="gpg --no-verbose --export --armor %r"
    105 set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r"
    106 set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-keys %r"
    107 set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --with-fingerprint --with-fingerprint --list-secret-keys %r"
    108 set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
    109 set pgp_check_gpg_decrypt_status_fd
    110 
    111 source ~/.config/mutt/colors  # Define colours.
    112 
    113 auto_view text/html
    114 # HTML is the last option.
    115 alternative_order text/plain text/enriched text/html
    116 
    117 # attach multiple files from file browser with 't' (tag).  To attach tagged
    118 # files: ';<enter>'
    119 
    120 # show email in browser
    121 bind attach <return> view-mailcap
    122 macro attach w "<enter-command>unset wait_key<enter>\
    123 <pipe-message>w3m -T text/html -I utf8<enter>\
    124 <enter-command>set wait_key<enter>" "pipe to w3m"
    125 macro index,pager \ w "<view-attachments>/html<enter><view-mailcap><exit>" "view first html attachment"
    126 
    127 # vi-like movement
    128 bind attach,index,browser gg first-entry
    129 bind attach,index,browser G last-entry
    130 bind pager gg top
    131 bind pager G bottom
    132 bind index,pager ] next-new-then-unread
    133 bind index,pager [ previous-new-then-unread
    134 bind attach,index,pager,browser \CD next-page
    135 bind attach,index,pager,browser \CU previous-page
    136 
    137 bind index,pager R  group-reply
    138 bind index <tab>    sync-mailbox
    139 bind index B search-opposite
    140 bind index S sort-mailbox
    141 
    142 bind index <F2> help
    143 bind index ? search-reverse
    144 
    145 macro index M "T~N<enter>;WNT~O<enter>;WO\CT~T<enter>" "Mark all messages as read"
    146 macro index \ f "l~F<enter>G" "Show only flagged messages"
    147 
    148 bind editor <space> noop
    149 macro index \ 0 "<change-folder>/var/mail/ad<enter>" "Go to local mail folder"
    150 macro index \ 1 "<change-folder>=adamsgaard/INBOX/<enter>" "Go to adamsgaard inbox"
    151 macro index \ ! "<change-folder>=adamsgaard/Sent/<enter>" "Go to adamsgaard/Sent"
    152 macro index \ 2 "<change-folder>=geomail/INBOX/<enter>" "Go to geomail inbox"
    153 macro index \ @ "<change-folder>=geomail/Sent/<enter>" "Go to geomail sent"
    154 macro index \ 3 "<change-folder>=gmail/INBOX/<enter>" "Go to gmail inbox"
    155 macro index \ \# "<change-folder>=gmail/[Gmail].Sent Mail/<enter>" "Go to gmail sent"
    156 macro index \ 4 "<change-folder>=noaa/INBOX/<enter>" "Go to noaa inbox"
    157 macro index \ $ "<change-folder>=noaa/[Gmail].Sent Mail/<enter>" "Go to noaa sent"
    158 macro index \ 5 "<change-folder>=princeton/INBOX/<enter>" "Go to princeton inbox"
    159 macro index \ % "<change-folder>=princeton/Sent Items/<enter>" "Go to princeton sent"
    160 macro index \ 6 "<change-folder>=riseup/INBOX/<enter>" "Go to riseup inbox"
    161 macro index \ ^ "<change-folder>=riseup/Sent/<enter>" "Go to riseup sent"
    162 macro index \ 7 "<change-folder>=ucsd/INBOX/<enter>" "Go to ucsd inbox"
    163 macro index \ & "<change-folder>=ucsd/Sent Items/<enter>" "Go to ucsd sent"
    164 
    165 macro index \ u "<change-folder>=adamsgaard/Spam.unsure/<enter>" "Go to adamsgaard/Spam.unsure"
    166 macro index \ a "<change-folder>=adamsgaard/academic-alerts/<enter>" "Go to adamsgaard/academic-alerts"
    167 macro index \ s "<change-folder>=adamsgaard/Spam/<enter>" "Go to adamsgaard/Spam"
    168 macro index \ c "<change-folder>=adamsgaard/maillists/cryolist/<enter>" "Go to cryolist"
    169 macro index \ g "<change-folder>=adamsgaard/git/<enter>" "Go to adamsgaard/git"
    170 macro index \ rc "<change-folder>=adamsgaard/rss/comedy/<enter>" "Go to adamsgaard/rss/comedy"
    171 macro index \ rn "<change-folder>=adamsgaard/rss/news/<enter>" "Go to adamsgaard/rss/news"
    172 macro index \ rp "<change-folder>=adamsgaard/rss/photo/<enter>" "Go to adamsgaard/rss/photo"
    173 macro index \ rr "<change-folder>=adamsgaard/rss/reddit/<enter>" "Go to adamsgaard/rss/reddit"
    174 macro index \ ra "<change-folder>=adamsgaard/rss/research/<enter>" "Go to adamsgaard/rss/research"
    175 macro index \ rt "<change-folder>=adamsgaard/rss/tech/<enter>" "Go to adamsgaard/rss/tech"
    176 macro index \ ry "<change-folder>=adamsgaard/rss/youtube/<enter>" "Go to adamsgaard/rss/youtube"
    177 macro index \ n "<change-folder>=adamsgaard/Notes/<enter>" "Go to adamsgaard/Notes"
    178 
    179 # abook address book
    180 set query_command= "abook --mutt-query '%s'"
    181 macro index,pager A "!$EDITOR ~/.config/mutt/aliases\n:\
    182 source ~/.config/mutt/aliases\n" "Edit aliases file and reload it"
    183 
    184 macro pager a "<create-alias>" "create an alias from the message sender"
    185 macro index Y "<next-unread-mailbox>" "go to next mailbox with unread mails"
    186 macro index U "<limit>all\n" "show all messages (undo limit)"
    187 macro index,pager P "<pipe-message>git am -s<enter>" "apply patch to current git repository"
    188 #macro index,pager C "<cd>" "change current working directory on local file system"
    189 
    190 macro pager \ S "<enter-command>set pipe_decode=yes<enter>v|grep -v '^>'|speedread<enter><enter-command>unset pipe_decoding<enter>" "speedread"
    191 
    192 # mark as spam (S) or ham (H)
    193 macro index,pager \ S "<save-message>=adamsgaard/Spam<enter>" "mark as spam"
    194 macro index,pager \ H "<save-message>=adamsgaard/INBOX<enter>" "mark as non-spam"
    195 
    196 macro index O "<enter-command>unset wait_key<enter>\
    197 <shell-escape>tmux split-window -l 1 \"mbsync -a\"; tmux select-pane -l<enter>\
    198 <enter-command>set wait_key<enter>" "sync all accounts"
    199 
    200 folder-hook adamsgaard 'macro index o "<enter-command>unset wait_key<enter>\
    201 <shell-escape>tmux split-window -l 1 \"mbsync adamsgaard:INBOX\";\
    202 tmux select-pane -l<enter>\
    203 <enter-command>set wait_key<enter>" "sync current INBOX"'
    204 
    205 macro index,pager \ l "<enter-command>unset wait_key<enter>\
    206 <shell-escape>tmux split-window -l 10 \"tail -f /var/log/maillog\"; tmux select-pane -l<enter>\
    207 <enter-command>set wait_key<enter>" "view smtpd log"
    208 
    209 macro index,pager \ o "<enter-command>unset wait_key<enter>\
    210 <pipe-message>sed -n \'s/\^URL: //p\' | plumb<enter>\
    211 <enter-command>set wait_key<enter>N" "open 'URL:' link"
    212 
    213 macro index,pager \ u "<enter-command>unset wait_key<enter>\
    214 <pipe-message>grep http | grep unsub | sed 's/.*http/http/;s/)#//' | plumb<enter>\
    215 <enter-command>set wait_key<enter>N" "unsubscribe by following link containing 'unsub' string"
    216 
    217 macro index \ef "<change-folder-readonly>$HOME/.cache/mairix/results<enter>\
    218 <shell-escape>mairix " "mairix: search all mail"
    219 
    220 # show recipient instead of sender in "Sent" folder view
    221 set date_format='%b %d %k:%M'
    222 set index_format="%2C %Z [%D] %-22.22F (%?l?%4l&%4c?) %?X?%1X& ? %s "
    223 
    224 # convert to pdf for printing
    225 set print_command="$HOME/.config/mutt/muttprint-groff.sh"