# .muttrc
# cayla fauver <cayla@cay.la>
# Created: Sat Sep 17, 2005  07:59PM
# Last modified: Sun Sep 06, 2009 12:31PM
# Description: stolen from a million places

#reset all  # for starting the config with a clean slate.
#unhook *

###################
# personal settings

set realname="Cayla Fauver"  #replace this with your name
my_hdr From: Cayla Fauver <cayla@cay.la> #replace this
set from="cayla@cay.la"
#set alternates='user@(blah|wank).org'

set mbox_type=Maildir
set folder="~/Maildir"
set mask="."
set mbox="~/Maildir/"
set record="+.Sent"
set postponed="+.Drafts"
set spoolfile="~/Maildir/"

# has problems with folders with spaces -- eg 'Apple Mail To Do'
mailboxes `\
echo -n "+ "; \
for file in ~/Maildir/.*; do \
        box=$(basename $file); \
        if [ ! $box = '.' -a ! $box = '..' -a ! $box = '.customflags' \
                -a ! $box = '.subscriptions' ]; then \
                echo -n "+$box "; \
        fi; \
done`

#################
# global settings

set editor="vim -f -X -c 'set tw=60 nobackup'" #your favourite editor
set include                     # always include messages when replying
set ispell="ispell -e -c"
set allow_ansi=yes
set copy=yes                     # + is a mailbox shortcut.
set nomark_old           # unread old messages are still unread after quitting
set auto_tag             # when tag articles, actions are default for all tagged messages
#set quit=no             # quit witout asking
set delete=yes           # delete without asking
set move=yes             # move messages without asking
set fast_reply
set fcc_attach
#set askcc
unset confirmappend      # don't ask me about appending messages to other boxes
set save_empty=yes
unset beep      # no beep
unset metoo
set beep_new
set abort_unmodified=no # automatically abort replies
set mime_forward=yes
set check_new=yes
set mail_check=30
set implicit_autoview
set alias_file=~/.mutt/aliases # Then include my Alias-File
set xterm_set_titles
set tmpdir=~/tmp
source ~/.mutt/aliases
source ~/.mutt/hooks.rc
source ~/.mutt/sort-date.rc
source ~/.mutt/mailing_lists.rc
source ~/.mutt/gpg.rc

##############
# key bindings

bind pager      {     previous-thread
bind pager      }     next-thread
bind browser    e     check-new

bind index      R     group-reply
bind pager      R     group-reply

bind index      \cd   delete-message
bind pager      \cd   delete-message

bind index      \eR   read-thread
bind pager      \eR   read-thread

########
# macros

# navigation
macro pager \cb <pipe-entry>'urlview'<enter> 'Follow links with urlview'
macro index d "s=.Trash\n" "Move to trash"
macro pager d "s=.Trash\n" "Move to trash"
macro index c "<change-folder>?<toggle-mailboxes>" "Open a different folder"
macro pager c "<change-folder>?<toggle-mailboxes>" "Cpen a different folder"

# spamassassin, move to junk folder.  cron script will classify as spam later
macro index \cS "s=.Junk\n" "Move to SPAM folder"
macro pager \cS "s=.Junk\n" "Move to SPAM folder"
# spamassassin report and classify as spam
macro index \cG <pipe-entry>"/usr/bin/sa-learn --spam --no-sync && echo SPAM"<enter> "Mark as SPAM"
macro pager \cG <pipe-entry>"/usr/bin/sa-learn --spam --no-sync && echo SPAM"<enter> "Mark as SPAM"
# spamassassin classify as ham
macro index \cH <pipe-entry>"/usr/bin/sa-learn --ham  --no-sync && echo not SPAM"<enter> "Mark as NON-SPAM"
macro pager \cH <pipe-entry>"/usr/bin/sa-learn --ham  --no-sync && echo not SPAM"<enter> "Mark as NON-SPAM"
# rebuild the spamassassin bayes filter db
macro index \cR <pipe-entry>"/usr/bin/sa-learn --sync && echo Syncing SPAM DB"<enter> "Sync SPAM Bayes DB"
macro pager \cR <pipe-entry>"/usr/bin/sa-learn --sync && echo Syncing SPAM DB"<enter> "Sync SPAM Bayes DB"

#########
# headers

#ignore *
#unignore From To Cc Subject Date Reply-To
set date_format="%a %d %b %y, %H:%M"
set folder_format="%2C   %-2N   %f"
set index_format="%2C %Z  %D    %-17.17n (%4c)   %s"
set pager_format="%S [%C/%m] %l %n: %s"

unset edit_headers                 # Edit headers when composing mail
set pager_context=1              # paging shows me one line leftover
set pager_stop                   # prevent pager from going to next message unlesss you say so
set nomarkers                    # no wrap around markers
unhdr_order *
hdr_order From Date: From: To: Cc: Subject:

##############
# folder hooks

#defaults for all folders. "." means all mailboxes
folder-hook . set sort=date-received
folder-hook . set pager_index_lines=6        # i get to see the index and pager together when paging
folder-hook . 'set index_format="%2C %Z  %D    %-17.17n (%4c)   %s"'
#mailing list sort with threads
folder-hook =.ml* set sort=threads
#sent mail
folder-hook =.Sent set sort=date-sent
folder-hook =.Sent 'set index_format="%2C %Z  %D    %-17.17t (%4c)   %s"'
#misc folder by from for ease of finding all message from one contact
#folder-hook =.misc* set sort=from
#headers
folder-hook . ignore *
folder-hook . unignore From To Cc Subject Date Reply-To
folder-hook =.Junk ignore *
folder-hook =.Junk unignore From To Cc Subject Date Reply-To X-Spam-Status
folder-hook =.Junk 'push <delete-pattern>~d>1d<enter>'
folder-hook =.Trash 'push <delete-pattern>~d>3d<enter>'

########
# colors

color normal        white           black
color attachment    green           black
color indicator     brightred       black
color body          cyan            black       "ftp://[^ ]*"
color body          green           default     "[[:alnum:]][-+.#_[:alnum:]]*@[-+.[:alnum:]]*[[:alnum:]]"
color body          cyan            default     "(http|ftp|news|telnet|finger)://[^ >]*"
color body          blue            red         "<[Gg]>"
color body          blue            red         "<[Bb][Gg]>"
color body          yellow          black       "[;:]-[)/(|]"
color body          cyan            default     "<URL:[^ ]*>"
color error         red             default
color status        white           blue
color signature     yellow          default
color header        green           black       "^to: "
color header        green           black       "^cc: "
color header        cyan            black       "^date: "
color header        red             black       "User-Agent:"
color header        brightgreen     black       "^from: "
color header        brightmagenta   default     "^subject: "
color hdrdefault    cyan            black
color index         cyan            default     ~O
color index         yellow          default     ~N
color tree          yellow          default
color markers       red             default
color message       white           blue
color tilde         blue            default
color bold          green           default
color underline     yellow          default
color quoted        cyan            default
color quoted1       magenta         default
color quoted2       blue            default
color quoted3       red             default
color quoted4       cyan            default
color quoted5       magenta         default
color quoted6       blue            default
color quoted7       red             default
color quoted8       yellow          default