Automatic Location

An automatic location can be thought of as a highly specialized type of script runner: it’s a place where you can put a compiled script to have it run automatically when certain events take place.

On Mac OS X, if you want a script to run automatically when you start up, you could save it as an applet and list it in the Startup Items tab of the Accounts pane, in System Preferences. A compiled script wouldn’t do here, though; it would be opened, not executed, because Startup Items is not a script runner.

A primary example of an automatic location on Mac OS X is the Finder, where you can associate scripts with particular folders by means of folder actions . Folder actions are a mechanism whereby scripts run if certain things happen, in the Finder, to the folder to which they are attached: that folder’s window is opened, closed, or moved, or something is put into or removed from that folder. Naturally you don’t have to respond when all of those things happen; your script will contain a specific handler for each type of action you want to respond to. (See http://www.apple.com/applescript/folder_actions/.)

Folder actions are described at length in Chapter 24, but here’s a quick explanation of how to set one up. Create ~/Library/Scripts/Folder Action Scripts if it doesn’t exist already. Create a script and save it as a compiled script file in that folder. Now go to a folder in the Finder and in its contextual menu choose Enable Folder Actions and then Attach a Folder ...

Get AppleScript: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.