ambevar-dotfiles/.mutt/muttrc

216 lines
7.9 KiB
Bash
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

## -*- mode:sh -*- #
################################################################################
## Mutt Configuration
################################################################################
## Note on folders:
## These folders are assumed to exist:
## ~/.mutt.d: personal stuff (contacts, account information).
## ~/.mutt: public stuff (theme, mailcap).
## ~/.cache/mutt: header cache.
##------------------------------------------------------------------------------
## General options
##------------------------------------------------------------------------------
## Beep on new incoming mails.
set beep_new = "yes"
## Headers are editable in editor.
set edit_headers=yes
## Set EDITOR dynamically.
source "~/.mutt/maileditor.sh|"
## Store message headers locally to speed things up. Gentoo wiki says that if a
## folder is specified, it is even faster. If no folder exists, the cache will
## be a single file.
set header_cache = "~/.cache/mutt"
## Tell Mutt to check all IMAP folders. This will add all of them to the
## sidebar. Contrary to the manu 'mailboxes' way, order cannot be controlled, so
## you should set 'sidebar_sort' to yes. This will sort the folders
## alphabetically, ignoring punctuation.
set imap_check_subscribed
## Keep imap connection alive by polling intermittently (time in seconds).
set imap_keepalive = 30
## Allow mutt to open new imap connection automatically.
unset imap_passive
## Mailcap
set mailcap_path = ~/.mutt/mailcap
auto_view text/html
alternative_order text/plain text/html
## How often to check for new mail (time in seconds).
set mail_check = 60
## Mailbox type.
set mbox_type=Maildir
## Forward attachment as well
set mime_forward=yes
set mime_forward_rest=yes
## Keep showing the list of mails while in pager.
set pager_index_lines=8
## Encoding
set send_charset="us-ascii:utf-8"
## Remove delay between mailbox switches.
set sleep_time = 0
##------------------------------------------------------------------------------
## Multiple accounts
##------------------------------------------------------------------------------
## accountrc should contain the following config:
## Set account names (arbitrary).
# set my_ac_personal=personal
# set my_ac_work=work
#
## Fetch passwords
# source "ccat ~/.mutt.pwds.cpt |"
## Or
# source "gpg2 -dq ~/.mutt.pwds.gpg |"
##
## Folder hooks, one per account.
# source "~/.mutt.d/$my_ac_personal"
# folder-hook $folder 'source ~/.mutt.d/$my_ac_personal'
# source "~/.mutt.d/$my_ac_work"
# folder-hook $folder 'source ~/.mutt.d/$my_ac_work'
##
## Optionnaly you can add shortcuts to switch mailboxes:
# macro index,pager <f2> '<enter-command>source ~/.mutt.d/$my_ac_personal<enter><change-folder>!<enter>'
# macro index,pager <f3> '<enter-command>source ~/.mutt.d/$my_ac_work<enter><change-folder>!<enter>'
## Store passwords as follows in .mutt.pwds:
# set my_pw_account = foo
##
## CCRYPT:
## $ ccencrypt .mutt.pwds
##
## GNUPG: Generate a key pair with:
## $ gpg2 --gen-key
## Encrypt them with:
## $ gpg2 -e -r <user> ".mutt.pwds"
source "~/.mutt.d/accountrc"
##------------------------------------------------------------------------------
## Aliases
##------------------------------------------------------------------------------
## Mutt native support
# set alias_file = "~/.mutt.d/aliases"
# set sort_alias = alias
# set reverse_alias = yes
# source $alias_file
## Abook
## We redirect the error stream in case the config file in not compatible with
## current abook bersion.
set query_command= "abook --mutt-query '%s' 2>/dev/null"
macro index,pager a "<pipe-message>abook --add-email-quiet<return>" "Add this sender to Abook"
bind editor <Tab> complete-query
##------------------------------------------------------------------------------
## Keys
##------------------------------------------------------------------------------
## Security issue: if enter-command is available from the GUI, it is possible to
## see the password unencrypted. We disable it for this reason. Every command
## that the user intends to use must be bound to a key in advance, otherwise it
## will never be accessible.
bind generic,alias,attach,browser,editor,index,compose,pager,pgp,postpone ':' noop
## HTML mail view with graphical Internet browser.
macro attach 'V' "<pipe-entry>cat >~/.cache/mutt/mutt-attach.mail && $BROWSER ~/.cache/mutt/mutt-attach.mail && rm ~/.cache/mutt/mutt-attach.mail<enter>"
## Remap bounce-message function to "B"
bind index B bounce-message
## Fix the 'change-dir' issue with multiple accounts. When change-dir was called
## with account A, then use switched to account B, change-dir will still point
## to account A by default.
# macro index 'c' '<change-folder>?<change-dir><home>^K=<enter>'
## Manual fetch.
bind index "^" imap-fetch-mail
## Fix the backspace wrong binding that happens on some terminals.
#bind index,pager  previous-page
## Fix Backspace -- Shell alternative.
## $ infocmp > termbs.src
## Changed kbs=^H to kbs=\177, then:
## $ tic -x termbs.src
##------------------------------------------------------------------------------
## Custom headers for outgoing mail
##------------------------------------------------------------------------------
## Undo any custom headers that may have been put in by the global Muttrc
# unmy_hdr *
## Remove any global 'From:' header
# unset use_from
## Don't append a domain to my outgoing mails
# unset use_domain
# my_hdr From: Firstname Lastname <myfirstname@mymailserver>
## Extra info.
my_hdr X-Info: Simplicity is the ultimate sophistication.
## OS Info.
# my_hdr X-Operating-System: `uname -s`, kernel `uname -r`
## This header only appears to MS Outlook users
# my_hdr X-Message-Flag: WARNING!! Outlook sucks!
## Custom Mail-User-Agent ID.
set user_agent = yes
# my_hdr User-Agent: Every email client sucks, this one just sucks less.
##------------------------------------------------------------------------------
## Themes
##------------------------------------------------------------------------------
## Index format
## We use my_col_* to get dynamic column size.
## See 'man 3 strftime' and 'man 3 printf'.
# set index_format="%?M?_%M_ ?%Z %2C %.13d (%-68.68F) %-68.68s %?M?_%M_&(%c/%l?"
set date_format="%y-%m-%d %T"
folder-hook .*[sS]ent.* 'set my_col_from = `echo $((30 * ($(tput cols)-35-24) / 100))`; set my_col_subject = `echo $((70 * ($(tput cols)-35-24) / 100))`; set index_format="%2C | %Z [%d] %-$my_col_from.${my_col_from}t (%-4.4c) %-$my_col_subject.${my_col_subject}s"'
folder-hook ! .*[sS]ent.* 'set my_col_from = `echo $((30 * ($(tput cols)-35-24) / 100))`; set my_col_subject = `echo $((70 * ($(tput cols)-35-24) / 100))`; set index_format="%2C | %Z [%d] %-$my_col_from.${my_col_from}F (%-4.4c) %-$my_col_subject.${my_col_subject}s"'
## Original status_format, with dash line removed.
set status_format="-%r-Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?] (%s/%S) %> (%P) "
## This will redraw screen while refreshing the new cols value. Since there
## seems to be no way to check what folder is the current, this will not behave
## like the above hooks and will set the index_format correctly for non Sent
## folders only.
macro pager \CL '<enter-command>set my_col_from = `echo $((30 * ($(tput cols)-35-24) / 100))`; set my_col_subject = `echo $((70 * ($(tput cols)-35-24) / 100))`; set index_format="%2C | %Z [%d] %-$my_col_from.${my_col_from}F (%-4.4c) %-$my_col_subject.${my_col_subject}s"<enter><redraw-screen>'
## Colors
# source "/usr/share/doc/mutt/samples/colors.default"
# source "/usr/share/doc/mutt/samples/colors.linux"
# source "~/.mutt/colors.classic.sh|"
source "~/.mutt/colors.zenburn.sh|"
source "~/.mutt/colors.fallback.sh|"
source "~/.mutt/mutt.colors"
##------------------------------------------------------------------------------
## Sidebar
##------------------------------------------------------------------------------
## We use a script to test if sidebar is installed. Needs to be loaded _after_
## the theme.
source "~/.mutt/sidebar.sh|"