Save time with OS X services

As a Mac user, you’re primed to look for time-savers that help you be more productive. But you may not be taking advantage of all that OS X has to offer. The Services menu is a case in point. This little known, and even more rarely used, feature deserves more attention than it gets. Services provide systemwide commands that allow you to quickly accomplish a variety of tasks, such as sending Mail messages lickety-split or making a new Stickies note from a selection. If you’re not already using the Services menu, you’ll soon discover how it can boost your productivity.

Locating Services

The Services menu resides in a program’s application menu (in Safari, for instance, go to Safari: Services). When you visit the Services menu, you’ll find both stand-alone commands (such as Spotlight or Search With Google) and the names of certain programs, each with its own submenu of actions. All Apple software works with services. So do many third-party programs, such as The Omni Group’s $80 OmniFocus ( ) and Bare Bones Software’s $125 BBEdit 9 ( ). Unfortunately, many major third-party programs shun services, including the $400 Microsoft Office and the $1,199 Adobe Creative Suite. Although these programs display the Services menu, they don’t allow you to select any commands.

Programs that don’t support services are Carbon, rather than Cocoa, programs. Cocoa is the native OS X application format; Carbon was initially designed to help port Classic programs to OS X. All Cocoa software automatically recognizes and supports services. Carbon programs work with services only if the developer has specifically coded them to do so (as with BBEdit).

Putting Services to Work

OS X comes with a number of built-in services. There are also third-party ones that are worth checking out.

Using Apple’s Services Want to quickly create a Post-it-style note? From almost any program that supports text (such as Apple’s TextEdit, Safari, or Preview), highlight some words and select applicationname: Services: Make New Sticky Note, or press command-shift-Y. This launches Stickies and creates a new note containing your selected text—all in one step! Perhaps you’d rather hear a text selection read to you. No problem. Highlight the desired passage and go to applicationname: Services: Speech: Start Speaking Text. You’ll be amazed at how realistic the voices in OS X 10.5 (Leopard) sound.

Send Text Lickety-split
Need to e-mail text or files quickly? Select what you want and then use the Services menu to create a message in Apple's Mail.
Programs such as Mail and Font Book also include their own sets of services. For instance, if, while reading a document, you encounter an e-mail address that’s not hyperlinked and want to send a message to that address, simply highlight the text and select applicationname: Services: Mail: Send To. Mail will automatically launch and create a new e-mail message with the selected address filled in as the recipient (no more cutting and pasting).Suppose you have a document that uses a variety of fonts. To make it easier to access those fonts, create a new Font Book collection that contains them. Press command-A to select all the text in your document, and then choose applicationname: Services: Font Book: Create Collection From Text. Done!

If you’ve installed Apple’s Xcode developer software, you can access another useful service. (You’ll find the Xcode tools in the Leopard Install DVD’s Optional Installs/Xcode Tools folder. You can also download them from Apple.) Say you have two versions of a TextEdit document. To see the differences between them, select both documents in the Finder, and then go to Finder: Services: FileMerge: Compare Files. FileMerge will open and display the documents side by side, with arrows showing where the contents diverge.

Adding Third-Party Services Many third-party programs, such as the free Skype and NewsGator’s free NetNewsWire, automatically install items in the Services menu. You can also add third-party services yourself.

One of the most useful additions is Devon Technologies’ free WordService 2.7 ( ), which adds commands such as Convert, Format, and Insert to your Services menu. Use these commands to turn straight quotes to smart quotes, convert text to all caps, strip line-ending characters from a paragraph of text, or add the current date and time to a document.

Another freebie from Devon Technologies, CalcService, lets you use a fairly sophisticated calculator inside your documents. Type in a formula (the left side of an equation), highlight it, and select applicationname: Services: CalcService: Calculate & Append to fill in the rest of the equation. If you select CalcService: Calculate & Replace, the answer will appear in place of the selected text. CalcService supports all basic math operations, as well as exponents, logs, and trig functions. You can even assign values to variables to solve an equation. For example, enter x=5;y=7;z=2;(x+y)*z, and then select Calculate & Append to get your answer. (It's 24.)

Another time-saver is Robert Stainsby’s MappingService (payment requested)—at press time, version 2.0 was a beta release. Say you’re in Safari and you find the address of a restaurant you want to go to. Just highlight the address and select Safari: Services: MappingService; your browser will summon Google Maps and display the restaurant’s location. You can also get directions between the restaurant and any location in your Address Book by selecting Directions instead of Map.

Quick Calendar Entries
There's no need to open iCal when you'd like to add an event to your calendar. Select the information and then let the CalendarCreator service do it for you in the background.

With Q.I. Software’s free CalendarCreator, you can quickly add new events or to-do items to Apple’s iCal. To create an event, highlight any text that includes a date, and select applicationname: Services: CalendarCreator: Add Calendar Event. To generate a to-do item, select any text with a date and choose CalendarCreator: Add To Do.

Customizing the Services Menu

Once you start using the Services menu, you may notice that it becomes cluttered with dozens of commands you never use. There are a few ways to clean things up.

Cleaning Up by Hand It’d be nice if Apple provided a simple method for removing items from the Services menu. Unfortunately, it doesn’t. But there are a couple of ways to do so without installing third-party software. The first step is figuring out where the service you want to delete is stored.

Inside either the Library/Services folder or the yourusername/Library/Services folder are any services you or a third-party program has installed. Dragging a service from either folder to the Trash deletes it from the Services menu. You’ll also find some items in the System/Library/Services folder, installed by default as part of OS X—for instance, SpeechService.service, which adds Speech commands to the Services menu. I recommend leaving these items alone.

Services linked directly to a specific program, such as Mail or TextEdit, are not typically located in a Services folder; instead, they appear in application packages. Eradicating such a service is more complex, as you’ll have to delete the item’s listing in the program’s Info.plist file, which is where each application makes its services software available to the OS.

As a precaution, back up any program you intend to modify to another drive. Then start by right-clicking on it in the Applications folder and choosing Show Package Contents from the contextual menu. Open the Contents folder to find the Info.plist file. I recommend opening the file with Apple’s Property List Editor (in the Developer/Applications/Utilities folder, available if you’ve installed Xcode).

Once you’ve opened the file, locate the NSServices property. Click on the triangle to the left of it to reveal a listing of all Services menu items that program uses. For TextEdit, you’ll find two items, named 0 and 1. Under 0, you’ll see NSMenuItem—click on its triangle to reveal TextEdit/New Window Containing Selection; under 1, you’ll find NSMenuItem and TextEdit/Open Selected. To remove one of these items from the Services menu, select the desired NSServices subproperty (0 or 1 in this example), click on the Delete button at the top of the window, and save the file. Log out and then back in.

Be aware that if you install an update to the program, you could end up restoring its Services item listing, which means modifying the Info.plist file again.

Using a Utility If you’re hesitant about rummaging through Library folders and application packages, I recommend Many Tricks’ Service Scrubber (payment requested), which provides a user-friendly front end for deleting services items.

Open Service Scrubber and click on the check box next to an item to disable that item. Select an unchecked box to restore it to the menu. You can even modify a service’s command-key shortcuts. Log out and back in for the change to take effect. (For more about using this utility, see “Services Gets a Scrubbing”.)

Get Your Services in Order
Service Scrubber provides an easy way to reduce your Services menu clutter, but it's not completely supported by Leopard.

If you’re using Leopard, you’ll find that several items in Service Scrubber’s list are grayed out and cannot be edited. This is because of Leopard’s support for digital signatures, which help detect unauthorized modifications to programs by malware. For example, malware could potentially alter a program such as Safari or iChat, in order to allow unauthorized users to gain access to your computer. In such cases, Leopard should detect that the modified program no longer matches its digital signature and prevent it from launching.

As you may have guessed, the changes Service Scrubber makes can also trigger this blockade. To prevent problems, the current version of Service Scrubber doesn’t permit editing of digitally signed programs, which include software installed by OS X. So if you want to delete a Services menu item from such software, you’ll have to use one of the aforementioned manual methods. If you go that route, you may find that before OS X launches the program, it will ask if you want to allow incoming connections. Click to allow them, and the program should open.

Troubleshooting Your Services

There are several common problems related to services—and they usually have easy answers.

Grayed-Out Services Often you need to perform a simple act before you can select a service. For instance, if you want your Mac to speak a passage of text, make sure you highlight the text before selecting the command in the Services menu. You might also run into trouble when the active program doesn’t support services or can’t handle the action you’re trying to select. For example, you’ll see Import Image grayed out when you’re working in a program that lacks graphics capabilities.

Missing Services This occurs when a certain type of data is required in order for the service to work. For example, the FileMerge service works by selecting files, not the contents of a document. Therefore, you’ll see it when the Finder is active, but not when you’re in programs such as TextEdit or Preview.

Failing Services Even if you can select a Services menu item, it may not work properly. For instance, the Open URL service won’t respond if your selected text is not actually a URL. Or a service that requires a network connection won’t work if you have no Internet connection.

At Your Service

The best way to discover which services work for you is to experiment with the ones listed in the Services menu. Once you’ve found a few favorites, you can remove the ones you don’t need. You’re now ready to use services—and to speed up how you get things done on your Mac.

[When not writing about how to use Mac OS X more effectively, Senior Contributor Ted Landau is busy revising his latest book, Take Control of Your iPhone (TidBits Publishing, 2008).]

Subscribe to the MacWeek Newsletter

Comments