[mutt] Add view_attachment.sh script and update mailcap to open jpgs and gifs
This commit is contained in:
		
							parent
							
								
									ef5cf37206
								
							
						
					
					
						commit
						42c49be78b
					
				
					 2 changed files with 131 additions and 0 deletions
				
			
		|  | @ -1 +1,5 @@ | |||
| text/html; w3m -I %{charset} -T text/html; copiousoutput; | ||||
| image/jpeg; ~/.mutt/view_attachment.sh %s jpg | ||||
| image/jpg; ~/.mutt/view_attachment.sh %s jpg | ||||
| image/pjepg; ~/.mutt/view_attachment.sh %s jpg | ||||
| image/gif; ~/.mutt/view_attachment.sh %s gif | ||||
|  |  | |||
							
								
								
									
										127
									
								
								mutt/view_attachment.sh
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										127
									
								
								mutt/view_attachment.sh
									
										
									
									
									
										Executable file
									
								
							|  | @ -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 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Eryn Wells
						Eryn Wells