A hidden gem in this post is open(1), which is one of the best command line utilities on the mac, especially because all of the sane default that most Apple apps have. I think
`open -a Mail mydoc.pdf` (open Mail and create a Mail with attachment mydoc.pdf)
Here is something you can do with man: type 'man commandname' to get a description of things you can do with commandmame.
This may not work as intended in cases where a command has the same name as a function. The nicely recursive 'man man' will tell you how to work around that.
"open -a /Applications/TextEdit.app '/Volumes/Macintosh HD/foo.txt'"
opens the document in the application specified (in this case, TextEdit)
That is exactly what the example does. The only thing that may be slightly surprising is what Mail.app does when you drag a .pdf on it. But that is only slightly surprising; the only alternative I can think of is that it would beep and do nothing else.
Also, the man page has several IMO more interesting examples than this "make a new mail from the command line, but you will have to use the GUI to fill in the destination address and to click 'Send'".
For example, I did not know about "open -f", "open -n -W", and "open -h".
Actually, the there is a reason why I use the short form - the rest of the workflow is also completely keyboard based:
`open -a Mail mypdf.pdf` opens an email window that has the focus and the cursor in the "from" field, with address book access and all. From there on, it is:
- Type the first letters of the contact to sent to
- Tab to "Subject", write Subject
- Tab to Body, write the Body
- Command-Shift-D
Includes all (legally needed, yawn...) signatures, my S/Mime-setup and has full access to my address book. Sure, its simple and the equivalent of dragging the pdf to the Mail icon, but damn quick.
Yes, please use Platypus instead, it'll save you a lot of trouble. The article's solution is very hackish and as you can tell from the comments you'll run into lots of issues.
It's a lot easier than the original post says (and it's mentioned in the comments). Just rename your shell script to end in `.command` and you can have it execute via a double click (or launch it with launchbar/quicksilver). I have this in my .zshrc to automatically create a new .command file for the current directory so I can easily open it up in MacVim:
`open -a Mail mydoc.pdf` (open Mail and create a Mail with attachment mydoc.pdf)
is my favorite line of Mac shell magic ever.