Official AppleScript WebsiteApple’s page on AppleScript. AppleScript Language GuideApple’s in-depth guide to AppleScript. MacScripterThe greatest AppleScript forum. Learning AppleScriptMacworld’s article on the fundamentals of writing AppleScripts. AppleScript UsersAppleScript Mailing List.
First, Where To Put Your AppleScripts After you download a script, you have to know where to put it to start using it. For this purpose, let’s say that there are three different kinds of AppleScripts, each of which is used for a different purpose. Simple Scripts You put these scripts in a special folder and call them when you need them. You can invoke them just by double clicking on them, but calling them contextually is a lot more effective. Using the Script Menu is one way to achieve this. To activate the Script Menu, first open the AppleScript Utility app in the /Applications/AppleScript folder and check “Show Script Menu in menu bar.”
The Script Menu will show a list of AppleScripts that come with Mac OS X, plus your application-specific scripts. To add a script to an application, simply put it in ~/Library/Scripts/Applications/<NAME_OF_THE_APPLICATION>. If that folder doesn’t exist, you can create it. For example, if you had a Safari AppleScript, you’d put it in ~/Library/Scripts/Applications/Safari. From then on, if you clicked the Script Menu when Safari was active, your script would appear at the top of the list for you to use.
Droplets Droplets are AppleScripts that live in the Finder’s toolbar. To use it, all you need to do is drop a file or folder into it. This is very useful for when a script affects a file or the contents of a folder, because all you have to do is drop the target of the action onto the script’s icon. To “install” a Droplet, first save it in a folder of your choosing: ~/Library/Scripts/Droplets is a good place. Then just drag the script to the Finder’s toolbar.
Folder Actions Folder Actions are AppleScripts that are “attached” to a folder. They are executed every time you perform an action with that folder. Folder Actions can get triggered every time you add a file to a folder, remove a file, modify its items, etc. The behavior depends on how the script works, but you can imagine how useful that would be. To add a Folder Action to a folder, right-click it to bring up the contextual menu, and click Attach a Folder Action. The default location for Folder Action scripts is /Library/Scripts/Folder Action Scripts, but if you want to keep all your custom-installed scripts in one place, ~/Library/Scripts/Folder Actions is a good place to keep them.
Multimedia Processing 1. ConvertImage This is a great example of how Droplets are useful. Just drop an image file into ConvertImage, and you will be prompted to choose from a list of file formats. Pick a format, and it saves it in the same folder as your original file. ConvertImage Type: Droplet Requirements: OS X 10.4+, Image Events
QuickTime to Photoshop Exports QuickTime frames directly to Photoshop. All you have to do is pause a video at the frame that you want to export, and then invoke the script. If Photoshop is closed, the script will activate it for you. After it imports the frame, it will ask you if you want another frame from the QuickTime file. QuickTime to Photoshop Type: Simple Script Requirements: Adobe Photoshop CS4
iPhoto to Photoshop This opens the currently selected iPhoto image in Photoshop. It is a simple automation leap that gets you where you want without intervening steps. iPhoto to Photoshop Type: Simple Script Requirements: Adobe Photoshop CS4
Rampage Drop an image file or a folder with image files in Rampage, and you get a text file with a lot of information about the file(s): size, resolution, color mode, ICC Profiles and more. It also reports warnings and errors about the file(s). The script currently supports TIFF, GIF, BMP, PNG and JPG image formats. Rampage Type: Droplet Requirements: None
SWF Extractor This extract SWF files from Flash projectors (Windows or Mac executables) that are dropped into it. SWF Extractor Type: Droplet Requirements: None
Safari Tools 6. Safari Web Site Validator Safari Web Site Validator gets the HTML or XHTML from the current active Safari tab and sends the code to the W3C Markup Validation Service in a separate window. It then asks if you want to validate the page’s CSS file as well. Safari Web Site Validator Type: Simple Scripts Requirements: OS X 10.4.4+
Tiny URL Despite its name, the Tiny URL script doesn’t use the TinyUrl application. It’s based on another URL shortening service called Metamark. It goes to the currently active Safari tab and puts the shortened URL directly in your clipboard. Tiny URL Type: Simple Scripts Requirements: None
Safari Cleannup This automates the deletion of Safari icons and cache and plist files. Getting rid of these extraneous files can boost Safari’s performance. Safari Cleannup Type: Simple Scripts Requirements: None
Scour Web Page This script scans the current Web page in Safari looking for MP3, AAC and PDF media files. If it finds multiple files, it prompts you to select the ones you want to keep, and then downloads them and adds them to your iTunes media library. Scour Web Page Type: Simple Scripts Requirements: None
Mail And iCal 10. Fuhgeddaboutit In Sopranos-speak, fuhgeddaboutit means “forget about it.” Indeed, one of the purposes of GTD is to free your brain from having to keep track of everything. Just relax, forget about it now and be confident that you’ll remember when you need to. This script make that possible by making iCal To-Do items from an Apple Mail email. Just invoke the script with the email you want, and it will create an iCal item with a due time set relative to the email’s arrival. Fuhgeddaboutit Type: Simple Scripts Requirements: None
Send Attachment Droplet Just drop a file into this Droplet, and it will make a new Mail email with the file as an attachment and the subject set to the file’s name. If the Mail app is closed, the script will open it for you. Send Attatchment Droplet Type: Droplet Requirements: None
Remove iCal Duplicates When you sync and share many calendars in iCal, you often end up with a lot of duplicates. This simple script helps you remove those. But once you ask it to delete duplicates, there’s no undoing. So, be sure to back up your calendar first. Remove iCal Duplicates Type: Simple Script Requirements: None
iCalculate Invoke this script, create an iCal calendar item and start date, and it will generate a text file reporting how many hours you have worked on the project. It even calculates the total cost of the project, based on the hourly rate your specify. Especially suited to freelancers. iCalculate Type: Simple Script Requirements: None
Finder Utilities 14. Pack’em Pack’em takes one or more items from Finder, packs them with tar, compresses them with either bzip2 or gzip and saves the compressed archive in the same folder as the original items. A great companion to the Send Attachment Droplet. With these two AppleScripts, you can compress and email a set of files or folders directly from Finder. Pack’em Type: Simple Script Requirements: None
Rename Files Just drop a folder into this Droplet, and it will give you a lot of options to batch process its contents. You can rename the files according to names specified in a particular text file or change the files individually. Either way accomplishes your task much faster than by changing every file name independently. Rename Files Type: Droplet Requirements: None
Websafe Name If you develop websites, you are probably accustomed to giving your files Web-friendly names. But there are times when you have to upload a whole set of files sent to you by a client, or upload things that you weren’t expecting to use. Websafe Name is very useful for this kind of task. You don’t even need to look through the list of files; just drop them into this script, and it will rename them to something Web-friendly. Websafe Name Type: Droplet Requirements: None
Tagger The “folder” is a computer interface paradigm that is a very powerful way to organize files. But it’s neither the only paradigm nor the best solution for all scenarios. Many sub-folders nested deep is a sign that a folder structure may not be appropriate. Another great paradigm, coming straight from the Web, is “tagging.” You keep all your files flat in a common location, but group them by tags so that you can retrieve or filter them by tags. It so happens that the Mac OS X has very good support for this. You can use Spotlight Comments to tag files and Smart Folders to dynamically retrieve them. All you need now is an easy way to do this, and this Folder Action does exactly that. To use Tagger, attach it to a folder. Then, every time you add a file to that folder via Finder, the script will prompt you to tag that file. It also automatically creates Smart Folders for all of your defined tags. Tagger Type: Folder Action Requirements: None
Further Resources If you like the scripts above, you may also be interested in the following articles and related resources:
ScriptBuildersA forum in which script authors post their scripts. Doug’s AppleScripts for iTunesA huge collection of AppleScripts for iTunes. Macs in ChemistryAppleScripts aimed at scientists. Studio LogScripts and discussion on how to make them. AppleScripts on GithubA search list of AppleScripts hosted on Github
Should Smashing Magazine publish more Mac-related posts? Please let us know in the poll below and in the comments to this post!
Should Smashing Magazine publish more Mac-related posts?(online surveys)
About the Author Diogo Terror is a Web developer doing PHP work when the sun is up and Ruby on Rails when it gets dark. In between, he writes about Macs and posts random thoughts on Twitter. (al)
© Diogo Terror for Smashing Magazine, 2009. | Permalink | 36 comments | Add to del.icio.us | Digg this | Stumble on StumbleUpon! | Tweet it! | Submit to Reddit | Forum Smashing Magazine
Post tags: apple, applescripts, mac