Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Mutt mail config, mostly copied from @sjl

* Relies on Keychain access on OS X
* See: http://stevelosh.com/blog/2012/10/the-homely-mutt
  • Loading branch information...
commit 2bd53e53d5fc93292c3702fcc9320c80eea78b17 1 parent 702322d
Gianni Chiappetta authored
11 .msmtprc
View
@@ -0,0 +1,11 @@
+account runlevel6
+host smtp.gmail.com
+port 587
+protocol smtp
+auth on
+from gianni@runlevel6.org
+user gianni@runlevel6.org
+tls on
+tls_trust_file ~/.mutt/Equifax_Secure_CA.cert
+
+account default : runlevel6
17 .mutt/Equifax_Secure_CA.cert
View
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIIDIDCCAomgAwIBAgIENd70zzANBgkqhkiG9w0BAQUFADBOMQswCQYDVQQGEwJVUzEQMA4GA1UE
+ChMHRXF1aWZheDEtMCsGA1UECxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5
+MB4XDTk4MDgyMjE2NDE1MVoXDTE4MDgyMjE2NDE1MVowTjELMAkGA1UEBhMCVVMxEDAOBgNVBAoT
+B0VxdWlmYXgxLTArBgNVBAsTJEVxdWlmYXggU2VjdXJlIENlcnRpZmljYXRlIEF1dGhvcml0eTCB
+nzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAwV2xWGcIYu6gmi0fCG2RFGiYCh7+2gRvE4RiIcPR
+fM6fBeC4AfBONOziipUEZKzxa1NfBbPLZ4C/QgKO/t0BCezhABRP/PvwDN1Dulsr4R+AcJkVV5MW
+8Q+XarfCaCMczE1ZMKxRHjuvK9buY0V7xdlfUNLjUA86iOe/FP3gx7kCAwEAAaOCAQkwggEFMHAG
+A1UdHwRpMGcwZaBjoGGkXzBdMQswCQYDVQQGEwJVUzEQMA4GA1UEChMHRXF1aWZheDEtMCsGA1UE
+CxMkRXF1aWZheCBTZWN1cmUgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMBoG
+A1UdEAQTMBGBDzIwMTgwODIyMTY0MTUxWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAUSOZo+SvS
+spXXR9gjIBBPM5iQn9QwHQYDVR0OBBYEFEjmaPkr0rKV10fYIyAQTzOYkJ/UMAwGA1UdEwQFMAMB
+Af8wGgYJKoZIhvZ9B0EABA0wCxsFVjMuMGMDAgbAMA0GCSqGSIb3DQEBBQUAA4GBAFjOKer89961
+zgK5F7WF0bnj4JXMJTENAKaSbn+2kmOeUJXRmm/kEd5jhW6Y7qj/WsjTVbJmcVfewCHrPSqnI0kB
+BIZCe/zuf6IWUrVnZ9NA2zsmWLIodz2uFHdh1voqZiegDfqnc1zqcPGUIWVEX/r87yloqaKHee95
+70+sB3c4
+-----END CERTIFICATE-----
0  .mutt/alias
View
No changes.
44 .mutt/badwolf.muttrc
View
@@ -0,0 +1,44 @@
+color normal color15 color233
+color error brightcolor15 color196
+color indicator color15 color235
+color status brightcolor39 color233
+color markers color142 color233
+
+color hdrdefault color245 color233
+color header brightcolor214 color233 "^(Subject): "
+color signature color243 color233
+
+color body color137 color233 [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+
+color body color137 color233 ((https?|ftp)://|www)+[\-\.\;@,/%~_:?&=\#a-zA-Z0-9+]+
+color bold brightcolor15 color233
+color search brightcolor16 color221
+
+color quoted color243 color233
+color quoted1 color211 color233
+color quoted2 color222 color233
+color quoted3 color214 color233
+color quoted4 color154 color233
+
+color tilde color240 color233
+color tree color240 color233
+color attachment brightcolor211 color233
+
+# http://www.mutt.org/doc/manual/manual-4.html#ss4.2
+# color index color241 color233 ~A
+# color index color241 color233 ~Q
+# color index color243 color233 ~P
+color index color221 color233 ~N
+color index brightcolor211 color233 ~F
+color index brightcolor39 color233 ~T
+color index color243 color233 ~Q
+color index color196 color233 ~D
+
+# Colorize inline diffs, really helpful for LKML or other mailing lists where
+# mails frequently include patches.
+color body brightcolor15 color233 '^diff .*'
+color body brightcolor15 color233 '^[Ii]{1}ndex .*'
+color body brightcolor15 color233 '^=+$'
+color body brightcolor15 color233 '^(---|\+\+\+) .*'
+color body brightcolor15 color233 '^@@ .*'
+color body color121 color233 '^\+([^\+].*)?$'
+color body color211 color233 '^-([^-].*)?$'
0  .mutt/cache/bodies/.gitkeep
View
No changes.
0  .mutt/cache/headers/.gitkeep
View
No changes.
35 .mutt/mailcap
View
@@ -0,0 +1,35 @@
+# ~/.mutt/mailcap
+#
+# this uses the view_attachment script found in ~/.mutt/view_attachment.sh
+#
+# this is meant for an OS X system
+
+# MS Excel
+# this will use the default xls spreadsheet handler from open
+application/x-msexcel; ~/.mutt/view_attachment.sh %s
+application/ms-exc; ~/.mutt/view_attachment.sh %s
+application/excel; ~/.mutt/view_attachment.sh %s
+application/msexcel; ~/.mutt/view_attachment.sh %s
+application/vnd.ms-exc; ~/.mutt/view_attachment.sh %s
+application/vnd.ms-excel; ~/.mutt/view_attachment.sh %s
+
+# MS Word
+# use textedit to open .doc files as it's more light-weight
+application/msword; ~/.mutt/view_attachment.sh %s "-" '/Applications/TextEdit.app'
+
+# Images
+image/jpg; ~/.mutt/view_attachment.sh %s jpg
+image/jpeg; ~/.mutt/view_attachment.sh %s jpg
+image/pjpeg; ~/.mutt/view_attachment.sh %s jpg
+image/png; ~/.mutt/view_attachment.sh %s png
+image/gif; ~/.mutt/view_attachment.sh %s gif
+
+# PDF
+# application/pdf; ~/.mutt/view_attachment.sh %s pdf
+
+# HTML
+text/html; ~/.mutt/view_attachment.sh %s html
+
+# Unidentified.
+application/octet-stream; ~/.mutt/view_attachment.sh %s "-"
+
222 .mutt/muttrc
View
@@ -0,0 +1,222 @@
+# Paths {{{
+
+set alias_file = ~/.mutt/alias # where to store aliases
+set header_cache = ~/.mutt/cache/headers # where to store headers
+set message_cachedir = ~/.mutt/cache/bodies # where to store bodies
+set certificate_file = ~/.mutt/certificates # where to store certs
+set mailcap_path = ~/.mutt/mailcap # entries for filetypes
+set tmpdir = ~/.mutt/temp # where to keep temp files
+set signature = ~/.mutt/sig # my signature file
+
+# }}}
+# Editor {{{
+
+# Use Vim to compose email, with a few default options.
+set editor = "/usr/local/bin/vim -c 'normal! }' -c 'redraw'"
+
+# }}}
+# Contacts {{{
+
+# Use the OS X address book
+set query_command = "contacts -Sf '%eTOKEN%n' '%s' | sed -e 's/TOKEN/\t/g'"
+bind editor <Tab> complete-query
+bind editor ^T complete
+
+# }}}
+# Basic Options {{{
+
+source ~/.mutt/badwolf.muttrc
+
+set wait_key = no # shut up, mutt
+set mbox_type = Maildir # mailbox type
+set folder = ~/.mail # mailbox location
+set timeout = 3 # idle time before scanning
+set mail_check = 0 # minimum time between scans
+unset move # gmail does that
+set delete # don't ask, just do
+unset confirmappend # don't ask, just do!
+set quit # don't ask, just do!!
+unset mark_old # read/new is good enough for me
+set beep_new # bell on new mails
+set pipe_decode # strip headers and eval mimes when piping
+set thorough_search # strip headers and eval mimes before searching
+
+# }}}
+# Sidebar Patch {{{
+
+set sidebar_delim = ' │'
+set sidebar_visible = yes
+set sidebar_width = 24
+color sidebar_new color221 color233
+bind index,pager <down> sidebar-next
+bind index,pager <up> sidebar-prev
+bind index,pager <right> sidebar-open
+
+# }}}
+# Status Bar {{{
+
+set status_chars = " *%A"
+set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───"
+
+# }}}
+# Index View Options {{{
+
+set date_format = "%m/%d"
+set index_format = "[%Z] %D %-20.20F %s"
+set sort = threads # like gmail
+set sort_aux = reverse-last-date-received # like gmail
+set uncollapse_jump # don't collapse on an unread message
+set sort_re # thread based on regex
+set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
+
+# }}}
+# Pager View Options {{{
+
+set pager_index_lines = 10 # number of index lines to show
+set pager_context = 3 # number of context lines to show
+set pager_stop # don't go to next message automatically
+set menu_scroll # scroll in menus
+set tilde # show tildes like in vim
+unset markers # no ugly plus signs
+set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
+alternative_order text/plain text/enriched text/html
+
+# }}}
+# Compose View Options {{{
+
+set realname = "Gianni Chiappetta" # who am i?
+set envelope_from # which from?
+set sig_dashes # dashes before sig
+set edit_headers # show headers when composing
+set fast_reply # skip to compose when replying
+set askcc # ask for CC:
+set fcc_attach # save attachments with the body
+unset mime_forward # forward attachments as part of body
+set forward_format = "Fwd: %s" # format of subject when forwarding
+set forward_decode # decode when forwarding
+set attribution = "On %d, %n wrote:" # format of quoting header
+set reply_to # reply to Reply to: field
+set reverse_name # reply as whomever it was to
+set include # include message in replies
+set forward_quote # include message in forwards
+
+# }}}
+# Headers {{{
+
+ignore * # ignore all headers
+unignore from: to: cc: date: subject: # show only these
+unhdr_order *
+hdr_order from: to: cc: date: subject: # and in this order
+
+# }}}
+# steve@stevelosh.com {{{
+
+# Default inbox.
+set spoolfile = "+gianni-runlevel6.org/INBOX"
+
+# Alternate email addresses.
+alternates gianni@metalabdesign.com
+
+# Mailboxes to show in the sidebar.
+mailboxes +gianni-runlevel6.org/INBOX \
+ +gianni-runlevel6.org/vim \
+ +gianni-runlevel6.org/clojure \
+ +gianni-runlevel6.org/python \
+ +gianni-runlevel6.org/mercurial \
+ +gianni-runlevel6.org/archive \
+ +gianni-runlevel6.org/sent \
+ +gianni-runlevel6.org/drafts \
+ +temporary/search \
+
+# Other special folders.
+set mbox = "+gianni-runlevel6.org/archive"
+set postponed = "+gianni-runlevel6.org/drafts"
+
+# Sending email.
+set from = "gianni@runlevel6.org"
+set sendmail = "/usr/local/bin/msmtp -a gianni"
+set sendmail_wait = 0 # no please don't silently fail, email is important
+unset record
+
+# }}}
+# Account Hooks {{{
+
+# folder-hook gianni-runlevel6.org/* source ~/.mutt/gianni-runlevel6.org.muttrc
+
+# }}}
+# Key Bindings {{{
+
+# Index {{{
+
+bind index \# noop
+bind index R group-reply
+bind index <tab> sync-mailbox
+bind index k previous-entry
+bind index j next-entry
+bind index gg first-entry
+bind index G last-entry
+bind index p recall-message
+bind index <space> collapse-thread
+bind index N search-opposite
+macro index s "<pipe-message>cat > ~/Desktop/" "save message as"
+
+# Mark all as read
+macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
+
+# Sync email
+macro index O "<shell-escape>offlineimap<enter>" "run offlineimap to sync all mail"
+macro index o "<shell-escape>offlineimap -qf INBOX<enter>" "run offlineimap to sync inbox"
+
+# Saner copy/move dialogs
+macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
+macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
+
+# Quickly change mailboxes
+macro index \' "<change-folder>+gianni-runlevel6.org/INBOX<enter>" "go to INBOX"
+macro index \" "<change-folder>+gianni-runlevel6.org/archive<enter>" "go to archive"
+
+# Search with notmuch
+macro index S "<enter-command>unset wait_key<enter><shell-escape>mutt-notmuch-py -G ~/.mail/temporary/search<enter><change-folder-readonly>+temporary/search<enter>" "search mail (using notmuch)"
+
+# Unlimit (show [a]ll)
+macro index a "<limit>all\n" "show all messages (undo limit)"
+
+# }}}
+# Pager {{{
+
+bind pager \# noop
+bind pager k previous-line
+bind pager j next-line
+bind pager gg top
+bind pager G bottom
+
+bind pager R group-reply
+bind pager N search-opposite
+
+macro pager \Cu "|urlview<enter>" "call urlview to open links"
+macro pager s "<pipe-message>cat > ~/Desktop/" "save message as"
+
+# Quickly change mailboxes
+macro pager \' "<exit><change-folder>+gianni-runlevel6.org/INBOX<enter>" "go to INBOX"
+macro pager \" "<exit><change-folder>+gianni-runlevel6.org/archive<enter>" "go to archive"
+
+# }}}
+# Compose {{{
+
+bind compose p postpone-message
+
+# }}}
+# Attachment {{{
+
+# View, god dammit!
+bind attach <return> view-mailcap
+
+# }}}
+# "Open in Vim" {{{
+
+macro index,pager V "|vim -c 'setlocal ft=mail' -c 'setlocal buftype=nofile' -<enter>" "open in vim"
+macro index,pager M "|mvim -c 'setlocal ft=mail' -c 'setlocal buftype=nofile' - >/dev/null<enter>" "open in macvim"
+
+# }}}
+
+# }}}
16 .mutt/offlineimap.py
View
@@ -0,0 +1,16 @@
+#!/usr/bin/python
+import re, subprocess
+def get_keychain_pass(account=None, server=None):
+ params = {
+ 'security': '/usr/bin/security',
+ 'command': 'find-internet-password',
+ 'account': account,
+ 'server': server,
+ 'keychain': '/Users/`whoami`/Library/Keychains/login.keychain',
+ }
+ command = "sudo -u `whoami` %(security)s -v %(command)s -g -a %(account)s -s %(server)s %(keychain)s" % params
+ output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT)
+ outtext = [l for l in output.splitlines()
+ if l.startswith('password: ')][0]
+
+ return re.match(r'password: "(.*)"', outtext).group(1)
18 .mutt/offlineimapsync.sh
View
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+PID=`cat ~/.offlineimap/pid`
+ps aux | grep "[ ]$PID" && kill $PID
+
+function sync_normal {
+ echo "NORMAL Sync"
+ /usr/local/share/python/offlineimap -o -u quiet
+}
+function sync_quick {
+ echo "QUICK Sync"
+ /usr/local/share/python/offlineimap -o -q -u quiet
+}
+
+# This is silly.
+python -c'import sys, random; sys.exit(random.randint(0, 5))' && sync_normal || sync_quick
+
+exit 0
3  .mutt/sig
View
@@ -0,0 +1,3 @@
+Gianni Chiappetta
+Runlevel6
+gf3.ca
0  .mutt/temp/.gitkeep
View
No changes.
127 .mutt/view_attachment.sh
View
@@ -0,0 +1,127 @@
+#!/bin/bash
+#
+# Author: Eric Gebhart
+#
+# Purpose: To be called by mutt as indicated by .mailcap to handle mail attachments.
+#
+# Function: Copy the given file to a temporary directory so mutt
+# Won't delete it before it is read by the application.
+#
+# Along the way, discern the file type or use the type
+# That is given.
+#
+# Finally use 'open' or 'open -a' if the third argument is
+# given.
+#
+#
+# Arguments:
+#
+# $1 is the file
+# $2 is the type - for those times when file magic isn't enough.
+# I frequently get html mail that has no extension
+# and file can't figure out what it is.
+#
+# Set to '-' if you don't want the type to be discerned.
+# Many applications can sniff out the type on their own.
+# And they do a better job of it too.
+#
+# Open Office and MS Office for example.
+#
+# $3 is open with. as in open -a 'open with this .app' foo.xls
+#
+# Examples: These are typical .mailcap entries which use this program.
+#
+# Image/JPEG; /Users/vdanen/.mutt/view_attachment %s
+# Image/PNG; /Users/vdanen/.mutt/view_attachment %s
+# Image/GIF; /Users/vdanen/.mutt/view_attachment %s
+#
+# Application/PDF; /Users/vdanen/.mutt/view_attachment %s
+#
+# #This HTML example passes the type because file doesn't always work and
+# #there aren't always extensions.
+#
+# text/html; /Users/vdanen/.mutt/view_attachment %s html
+#
+# # If your Start OpenOffice.org.app is spelled with a space like this one, <--
+# # then you'll need to precede the space with a \ . I found that too painful
+# # and renamed it with an _.
+#
+# Application/vnd.ms-excel; /Users/vdanen/.mutt/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app'
+# Application/msword; /Users/vdanen/.mutt/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app'
+#
+#
+# Debugging: If you have problems set debug to 'yes'. That will cause a debug file
+# be written to /tmp/mutt_attach/debug so you can see what is going on.
+#
+# See Also: The man pages for open, file, basename
+#
+
+# the tmp directory to use.
+tmpdir="$HOME/.tmp/mutt_attach"
+
+# the name of the debug file if debugging is turned on.
+debug_file=$tmpdir/debug
+
+# debug. yes or no.
+#debug="no"
+debug="yes"
+
+type=$2
+open_with=$3
+
+# make sure the tmpdir exists.
+mkdir -p $tmpdir
+
+# clean it out. Remove this if you want the directory
+# to accumulate attachment files.
+rm -f $tmpdir/*
+
+# Mutt puts everything in /tmp by default.
+# This gets the basic filename from the full pathname.
+filename=`basename $1`
+
+# get rid of the extenson and save the name for later.
+file=`echo $filename | cut -d"." -f1`
+
+if [ $debug = "yes" ]; then
+ echo "1:" $1 " 2:" $2 " 3:" $3 > $debug_file
+ echo "Filename:"$filename >> $debug_file
+ echo "File:"$file >> $debug_file
+ echo "===========================" >> $debug_file
+fi
+
+# if the type is empty then try to figure it out.
+if [ -z $type ]; then
+ file $1
+ type=`file -bi $1 | cut -d"/" -f2`
+fi
+
+# if the type is '-' then we don't want to mess with type.
+# Otherwise we are rebuilding the name. Either from the
+# type that was passed in or from the type we discerned.
+if [ $type = "-" ]; then
+ newfile=$filename
+else
+ newfile=$file.$type
+fi
+
+newfile=$tmpdir/$newfile
+
+# Copy the file to our new spot so mutt can't delete it
+# before the app has a chance to view it.
+cp $1 $newfile
+
+if [ $debug = "yes" ]; then
+ echo "File:" $file "TYPE:" $type >> $debug_file
+ echo "Newfile:" $newfile >> $debug_file
+ echo "Open With:" $open_with >> $debug_file
+fi
+
+# If there's no 'open with' then we can let preview do it's thing.
+# Otherwise we've been told what to use. So do an open -a.
+
+if [ -z $open_with ]; then
+ open $newfile
+else
+ open -a "$open_with" $newfile
+fi
86 .notmuch-config
View
@@ -0,0 +1,86 @@
+# .notmuch-config - Configuration file for the notmuch mail system
+#
+# For more information about notmuch, see http://notmuchmail.org
+
+# Database configuration
+#
+# The only value supported here is 'path' which should be the top-level
+# directory where your mail currently exists and to where mail will be
+# delivered in the future. Files should be individual email messages.
+# Notmuch will store its database within a sub-directory of the path
+# configured here named ".notmuch".
+#
+[database]
+path=/Users/gianni/.mail/gianni-runlevel6.org
+
+# User configuration
+#
+# Here is where you can let notmuch know how you would like to be
+# addressed. Valid settings are
+#
+# name Your full name.
+# primary_email Your primary email address.
+# other_email A list (separated by ';') of other email addresses
+# at which you receive email.
+#
+# Notmuch will use the various email addresses configured here when
+# formatting replies. It will avoid including your own addresses in the
+# recipient list of replies, and will set the From address based on the
+# address to which the original email was addressed.
+#
+[user]
+name=Gianni Chiappetta
+primary_email=gianni@runlevel6.org
+
+# Configuration for "notmuch new"
+#
+# The following options are supported here:
+#
+# tags A list (separated by ';') of the tags that will be
+# added to all messages incorporated by "notmuch new".
+#
+# ignore A list (separated by ';') of file and directory names
+# that will not be searched for messages by "notmuch new".
+#
+# NOTE: *Every* file/directory that goes by one of those names will
+# be ignored, independent of its depth/location in the mail store.
+#
+[new]
+tags=unread;inbox;
+ignore=
+
+# Search configuration
+#
+# The following option is supported here:
+#
+# exclude_tags
+# A ;-separated list of tags that will be excluded from
+# search results by default. Using an excluded tag in a
+# query will override that exclusion.
+#
+[search]
+exclude_tags=deleted;spam;
+
+# Maildir compatibility configuration
+#
+# The following option is supported here:
+#
+# synchronize_flags Valid values are true and false.
+#
+# If true, then the following maildir flags (in message filenames)
+# will be synchronized with the corresponding notmuch tags:
+#
+# Flag Tag
+# ---- -------
+# D draft
+# F flagged
+# P passed
+# R replied
+# S unread (added when 'S' flag is not present)
+#
+# The "notmuch new" command will notice flag changes in filenames
+# and update tags, while the "notmuch tag" and "notmuch restore"
+# commands will notice tag changes and update flags in filenames
+#
+[maildir]
+synchronize_flags=true
40 .offlineimaprc
View
@@ -0,0 +1,40 @@
+[general]
+ui = TTY.TTYUI
+accounts = Runlevel6
+pythonfile=~/.mutt/offlineimap.py
+fsync = False
+
+[Account Runlevel6]
+localrepository = Runlevel6-Local
+remoterepository = Runlevel6-Remote
+status_backend = sqlite
+postsynchook = notmuch new
+
+[Repository Runlevel6-Local]
+type = Maildir
+localfolders = ~/.mail/gianni-runlevel6.org
+nametrans = lambda folder: {'drafts': '[Gmail]/Drafts',
+ 'sent': '[Gmail]/Sent Mail',
+ 'flagged': '[Gmail]/Starred',
+ 'trash': '[Gmail]/Trash',
+ 'archive': '[Gmail]/All Mail',
+ }.get(folder, folder)
+
+[Repository Runlevel6-Remote]
+cert_fingerprint=6d1b5b5ee0180ab493b71d3b94534b5ab937d042
+maxconnections = 1
+type = Gmail
+remoteuser = gianni@runlevel6.org
+remotepasseval = get_keychain_pass(account="gianni@runlevel6.org", server="imap.gmail.com")
+realdelete = no
+nametrans = lambda folder: {'[Gmail]/Drafts': 'drafts',
+ '[Gmail]/Sent Mail': 'sent',
+ '[Gmail]/Starred': 'flagged',
+ '[Gmail]/Trash': 'trash',
+ '[Gmail]/All Mail': 'archive',
+ }.get(folder, folder)
+folderfilter = lambda folder: folder not in ['[Gmail]/Trash',
+ '[Gmail]/Important',
+ '[Gmail]/Spam',
+ ]
+
1  .urlview
View
@@ -0,0 +1 @@
+COMMAND open %s
Please sign in to comment.
Something went wrong with that request. Please try again.