Talking to Applications

In Hugh Lofting’s classic series of children’s books, he introduced us to Dr. Doolittle, a man who could talk to the animals, although presumably not to Mac OS X applications. When you script an application, you become something of a Dr. Doolittle yourself. Your job becomes to talk to the application, to learn its language, and to see if you can make it do what you want it to do. You give it commands and ask it to provide data. Talking to applications combines the core AppleScript language with application terminology extensions. Using this extended language, you might tell an application to open new windows, perform built-in functions, interact with files, and more.

The tell command is at the heart of all application communication. With it, you can send your requests to the specified application. By telling, you direct your commands to a specific target. Example 9-4 shows the two forms of the tell command. The single-line version sends a single command. The block form (combined with an end tell command) allows you to send several.

Example 9-4. Single-line and block forms of the tell command

	tell application "Mail" to make new outgoing message

	tell application "Mail"
		activate
		make new outgoing message
	end tell

Universal commands

All applications, whether they’re officially AppleScriptable or not, respond to a certain core set of commands. Table 9-1 briefly summarizes these commands.

Table 9-1. Universal application commands

Command

Description

launch

Get Modding Mac OS X 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.