# HG changeset patch # User Steve Losh # Date 1288647499 14400 # Node ID 726059940dc3c8bc4c0e7b00eb877da4ab52f372 # Parent 5bfb7341b32cbbc7ac648306d966f7bc1a4e0579 mutt: more diff -r 5bfb7341b32c -r 726059940dc3 .urlview --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.urlview Mon Nov 01 17:38:19 2010 -0400 @@ -0,0 +1,1 @@ +COMMAND open %s diff -r 5bfb7341b32c -r 726059940dc3 mutt/mailcap --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mutt/mailcap Mon Nov 01 17:38:19 2010 -0400 @@ -0,0 +1,34 @@ +# ~/.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/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; elinks -force-html %s + +# Unidentified. +application/octet-stream; ~/.mutt/view_attachment.sh %s "-" + diff -r 5bfb7341b32c -r 726059940dc3 mutt/muttrc --- a/mutt/muttrc Mon Nov 01 08:38:45 2010 -0400 +++ b/mutt/muttrc Mon Nov 01 17:38:19 2010 -0400 @@ -111,6 +111,11 @@ macro index \CR "T.N." "mark all messages as read" macro index B "~b " "search message bodies" macro index I "!" "go to Inbox" +macro pager \Cu |urlview "call urlview to extract URLs out of a message" + +# mailbox +macro index ( "+steve-stevelosh.com/INBOX" "go to stevelosh/INBOX" +macro index ) "+steve-dumbwaiterdesign.com/INBOX" "go to dwaiter/INBOX" # save a decoded copy in ~ macro index P "cat > ~/Desktop/" "save message as" diff -r 5bfb7341b32c -r 726059940dc3 mutt/view_attachment.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mutt/view_attachment.sh Mon Nov 01 17:38:19 2010 -0400 @@ -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