Not long ago, I downloaded a copy of MacGourmet, an excellent recipe database and menu management program that I wanted to test for a review. After playing with it briefly, I returned to Eudora to get some work done. But the first time I selected some text in a message and pressed Command-Shift-R to reply quoting the selection, MacGourmet immediately tried to import the selected text as a recipe. Needless to say, it wasn't a recipe, so the "import" failed, and I had to hold down the Shift key and choose Reply Quoting Selection from Eudora's Message menu to finish the message I wanted to respond to.
Irritated, I whipped off a snippy message to Michael Dupuis of Advenio, admonishing him for setting a default keyboard shortcut for MacGourmet's Import Recipe service that was so likely to conflict with another program's keyboard shortcut (sorry about that, Michael!), and then went to find the latest version of Service Scrubber.
At Your Service -- First, a little background. Since the early days of Mac OS X, there has been a hierarchical Services menu that appears in the application menu of all applications (that's the menu with the name of the application). The Services menu contains further hierarchical menus that either provide quick access to a feature of some other program or provide a way to transfer information from one program to another. For instance, if you wanted to put a bunch of text from Safari into a BBEdit window for editing, you could select it in Safari, copy it, switch to BBEdit, open a new window, and paste the text (five steps). Or, you could simply select the text in Safari, and then choose Safari > Services > BBEdit > New Window with Selection (two steps). Neat, eh? Here are a few other tasks simplified by the Services menu:
- Put the selected text in the body of a new message in Mail, or create a new message addressed to the person whose name is selected.
- Start or stop speaking the selected text, even if the application containing the text doesn't have a normal Speech menu.
- Start a Google search in Safari for the selected text.
Lots of applications register services with the Services menu - I have over 30 items in the Services menu on my MacBook, and nearly 60 on my Power Mac G5, which has many more applications installed. This leads to two problems. First is simple overload - the Services menu becomes much harder to navigate when it contains items you'll never use (Chinese Text Converter? ISA Reference?). Second, applications often assign keyboard shortcuts to their services, in part because the Services menu is so long and cumbersome. But those keyboard shortcuts sometimes take over for keyboard shortcuts in other applications, which is maddening - that's what happened to me with MacGourmet's service stealing Eudora's keyboard shortcut.
Clean the Services Menu -- The solution to this mess is Service Scrubber, a donation-ware application from Many Tricks (418K download). Service Scrubber displays both the contents of the Services menu and all service providers (applications that put submenus in the Services menu). With Service Scrubber, you can disable a service provider entirely, if you seldom use the program and don't want it cluttering your Services menu, or you can turn off individual services within service providers, if you have no intention of using those functions. A little triangle button next to a service provider indicates that you've made changes to it; click the triangle button to re-enable disabled services inside. Service Scrubber's help implies that the triangle button will also bring back original keyboard shortcuts, but that doesn't seem to be the case for me. No loss. Another minor restriction is that Service Scrubber cannot currently edit signed applications, which Apple introduced in Mac OS X 10.5 Leopard.
More important is the capability to change the keyboard shortcuts for individual services by clicking them in the Key column. If you anticipate using the service a lot, you can assign it a keyboard shortcut that makes sense to you and doesn't conflict with other application shortcuts. The only limitation is that you cannot use the Control key in shortcuts. Annoyingly, although you can use the Option key, Service Scrubber displays the character associated with Option-N, for instance, instead of showing you Command-Shift-Option-N (for this screenshot, I stuck with the more obvious Command-Shift-N). For less commonly used services, it may be easier to delete the keyboard shortcut entirely.
Once you're done making changes, click the Save button at the top of Service Scrubber's window, enter your administrator password, and you're done. For a quick visual demonstration of how to use Service Scrubber, see my short screencast.
I'm a bit ashamed to admit that I never use the Services menu, and this article is a bit of repentance, since I think services have the potential to make me more productive. In my defense, I think Apple's basic implementation of services is still clumsy, hard to find and use, and occasionally irritating when keyboard shortcuts conflict. And that's after six revisions of Mac OS X! Here's hoping Apple puts more thought into making services more discoverable in the next big cat, and until then, I strongly recommend that you use Service Scrubber to make the Services menu work the way you want.