If you’ve ever used AppleScript, Apple’s scripting language, you probably know that OS X’s Script Menu gives you quick access to any scripts located in /Library/Scripts and ~/Library/Scripts. But if running AppleScripts is a regular part of your daily routine, you owe it to yourself to check out Red Sweater Software’s FastScripts, a replacement for Apple’s Script Menu that offers a slew of improvements. I first reviewed FastScripts back in 2005; since then it’s gained a number of new features that have made it even more useful.
Like OS X’s own Script Menu, FastScripts looks for scripts in their official Mac OS X folders and separates each folder’s scripts within the menu. As with the built-in Script Menu, you can quickly open either of the official Scripts folders via a menu command. You can also edit a script, in your editor of choice, by Option-choosing the script; and you can reveal a script in the Finder by Shift-choosing the script.
But unlike OS X’s menu, FastScripts supports more than just AppleScripts and Automator workflows—you can also run Perl scripts and shell scripts. And if you’d like to store your scripts elsewhere, you can tweak FastScripts (using a Terminal command on the Red Sweater Software Website) to look for scripts in other folders, as well. (I wish you could perform this action from within FastScripts’ preferences window instead of having to use Terminal.) You can also give the FastScripts icon a custom color to make it easier to spot among all your other menu-bar icons.
Other unique features include a handy Recent Scripts sub-menu that provides quick access to scripts you’ve recently used. FastScripts also places user-level scripts and script folders above system-level items, which I find to be more useful than Apple’s approach (system-level scripts above user-level scripts); alternatively, FastScripts lets you combine user- and system-level scripts in a single list, rather than separating them within the menu.
FastScripts also handles application-specific scripts better. As with Apple’s menu, if you put application-specific scripts inside a folder named for the target application, and place that folder inside /Library/Scripts/Applications or ~/Library/Scripts/Applications (for example, ~/Library/Scripts/Applications/iPhoto for iPhoto-specific scripts), FastScripts will automatically display those scripts at the root level of the Script Menu whenever the target application (iPhoto, using the same example) is the frontmost program, hiding them whenever iPhoto is in the background or isn’t running. But Apple’s menu places application-specific scripts at the bottom of the menu, even though (again, to use our example) iPhoto-specific scripts are the ones you’re most likely to use when iPhoto is active. FastScripts displays application-specific scripts where they belong—at the top of the menu. FastScripts will even create these special application-name folders for you via a simple menu command.
Behind the scenes, FastScripts also offers better performance and less-disruptive script execution. When you run a script or workflow from Apple’s Script Menu, you’ll often find that OS X switches away from the current application (either to the script itself or to another application called by the script) and never switches back to the original program. FastScripts, on the other hand, attempts to prevent such switching unless it’s actually necessary, and switches back to the original application when it can. Why OS X doesn’t work this way on its own, I don’t know.
But perhaps the most popular feature of FastScripts is that it implements full keyboard control and activation of scripts. For starters, you can choose a keyboard shortcut for activating FastScripts’ menu; you can then use the arrow keys to navigate to a particular script, and press Return to run that script. But even more useful is that FastScripts lets you, via its preferences window, assign keyboard shortcuts directly to individual scripts.
FastScripts is also clever about these keyboard shortcuts: If you assign a shortcut to an application-specific script (one located in the /Scripts/Applications/[application name] folders noted above), that shortcut will work only when the target application is frontmost. This means you won’t accidentally fire off an iPhoto script when you’re using iTunes. It also means you can assign the same keyboard shortcut to multiple scripts. For example, if you’ve got an Automator workflow for processing and exporting images in Photoshop, a similar workflow for exporting images from Acorn, and another workflow for exporting video from within Final Cut Express, you can assign Control+Shift+E to each workflow—you need to remember only a single “Export” shortcut.
Other new features include onscreen script-feedback messages (which require only a couple lines of simple code in your AppleScripts), as well as the capability to choose, using BBEdit-inspired naming, the order in which individual items are displayed in FastScript’s menu: If you add ##) to the beginning of an item’s name, where each # is any character you choose, those characters aren’t displayed in the menu, but are instead used to determine the position of the item. In other words, a script named 01)scriptname will appear above a script named 02)scriptname. You can also create a divider line in the menu by creating an empty folder in either Scripts folder and ending its name with -***.
Finally, since my original review, Red Sweater Software has changed FastScripts’ pricing: The utility is now completely free to use for up to ten keyboard shortcuts—all other features are fully accessible. Paying $15 simply unlocks unlimited shortcuts.
If you’re not a frequent user of scripts or workflows, FastScripts probably isn’t for you. But for those of us who count on AppleScript to increase our productivity, FastScripts is worth purchasing for its keyboard-shortcuts feature alone. And while the benefits of its other features may sound subtle, taken together, they really do make scripts more efficient and easier to use.