A while back, I ranted about the Services menu in OS X. As a brief recap, the Services menu is potentially quite useful—it lets you do things to selections (of text, files, folders) from many applications. However, the user has no control over this menu—it can be modified by any installed application, and the user will not be notified of a change to the menu.
The spread of Services
Over time, especially if (like me) you enjoy downloading and trying out some of the huge variety of OS X applications, you’ll find yourself with an out-of-control Services menu. As a real-world example, here’s what the Services menu looked like on my G5 only a few months after doing a clean install of OS X 10.4:
Enter Peter Maurer’s Service Scrubber
( ; donationware). (Full disclosure: my name appears in the credits for Service Scrubber, as it was my complaining to Peter that prompted him to write the application in the first place. However, I have not been involved in the product, beyond my initial plea for help and testing early versions.)
Using Service Scrubber
Service Scrubber is an application with a very simple purpose in life: to give you, the user, control over your Services menu. When you launch the program, it will scan your machine for all registered Services. This process can take a bit of time, especially if you have a lot of Services. Once it’s done with the initial scan, you’ll see the Service Scrubber window:
There are two ways you can use Service Scrubber. If you select the Services Menu item in the Source column, you can directly enable or disable any given service provided by an application. Remove the checkmark next to any service’s name, and it will be removed from your menu (as soon as you click the Save button). This is the quickest way to empty your Services menu; just scroll through the list and leave only those services you desire enabled. But what happens when you see a service whose name isn’t familiar to you? Or what if you see apparent duplicates in the list?
In those cases, you’ll want to use the entries in the Service Providers section of the Sources column. In this area you’ll find an entry for every application that’s providing a service to the Services menu. When you click on an entry in the Service Providers section, the bottom of the Service Scrubber window will show you the full path to the selected program. This can be a good way to find duplicates that come from other hard drives or partitions, as seen here:
Notice that I have multiple entries for both SpeechService and Stickies. That’s because I have three separate OS X partitions (10.3.9, current live version, and an experimental partition), and these Services can be found in all three. (There is an option in Service Scrubber’s preferences to only search your boot volume.) As noted in the highlighted row, however, I have disabled the entries for the copy of Stickies that reside on my old system disk (and I’ve done the same for the experimental partition), leaving just the one from my boot disk. In practice, you don’t really need to do this, as OS X won’t list exact duplicate entries in the Services menu. I just prefer to have the structure visibly clean so I know exactly which version of a given Service is being used.
You can also assign your own keyboard shortcuts—just double-click in the Key column next to the entry whose value you’d like to set or change, and the Inspector window will open. (You cannot change the shortcut for a folder containing Services, only for the Services themselves). Just enter your preferred shortcut in the Keyboard Shortcut box. You can also rename Services in this same dialog, and even rearrange them. However, since there’s no real GUI method to move and arrange the services (you have to type the name of a folder in the Submenu box in the Inspector window), I wouldn’t necessarily advise going crazy with the rearrangement feature.
After you’ve checked and unchecked Services as you wish, click the Save button in the toolbar. Enter your admin password when prompted, and Service Scrubber will make your changes semi-permanent. I say “semi-permanent” because Service Scrubber works in an intelligent manner—you can easily undo any change, even after saving. In the Source column, any Service that’s been disabled will appear with a small triangle in a circle icon next to its name. Click that icon, and the Service will be re-enabled. So it’s always easy to go back, in case you find you want a Service that you’ve disabled.
I found another benefit to using Service Scrubber—I found that I had many duplicate copies of certain applications stashed on multiple hard drives. Since they all showed up in the Source column in Service Scrubber (with their path and a shortcut “go to” button visible in the status bar below), it was simple to then delete the duplicates in the Finder.
Service Scrubber puts me (finally!) in charge of my Services menu. Since installing it a couple months ago, I’ve found that I now use Services much more often than I did before—mainly because my Services menu is now of a reasonable size:
Once you’ve done a “mass edit,” you don’t need to run Service Scrubber every day. Instead, add it to the list of things you run once a month or so, or run it again when you notice new applications sneaking their way into the Services menu.
Apple really needs to build similar functionality into OS X. Until it does, though, Service Scrubber will be doing the job for me.