Введение в AppleScript

AppleScript в ряде отношений превосходит Automator, не в последнюю очередь — из-за своей мощи. И еще: AppleScript — столь глубокая тема, что ему следовало бы посвятить отдельную книгу. Эта глава — всего лишь аппетитная закуска: книга типа «AppleScript: основное руководство» была бы обедом из семи блюд.
Можно загрузить целую главу об AppleScript — появившуюся в предыдущем издании этой книги — со страницы Missing CD на сайте www.missingmanuals.com.
Меню сценариев
Для того чтобы вкусить плодов этой технологии, необязательно создавать сценарии AppleScript. В состав Mac OS X входит несколько десятков готовых сценариев, которые действительно полезны, а чтобы выполнить любой из них, достаточно выбрать его имя в меню. Такое «воспроизведение» сценария AppleScript требует ровно столько же технических навыков, сколько нажатие кнопки в лифте.
Опробовать какие-то из этих классных начальных сценариев можно, если добавить меню сценариев в строку меню.
В меню сценариев есть 16 готовых категорий, объединяющих около 100 сценариев; чтобы запустить сценарий, просто выберите его имя. Вот перечень наиболее полезных и интересных сценариев.
Если во время выбора имени сценария в меню нажата клавиша Shift, Mac OS X перенесет вас прямо туда, где этот сценарий находится в Finder (например, в папку Home — Library — Scripts). Более того, если при выборе имени нажать клавишу Option, сценарий откроется в Script Editor, где его можно изучить или отредактировать.
Address Book Scripts
Это подменю содержит только сценарий Import Addresses, предназначенный для копирования в программу Address Book имен и адресов из Entourage, Outlook Express, Palm Desktop, Eudora, Claris Emailer или Netscape. Если у вас много друзей, воспользуйтесь этим сценарием, и тогда вам не придется заново вводить все их имена, номера телефонов и почтовые адреса. (Сопутствующая подпапка Address Importers предлагает сценарии для импорта из трех конкретных программ.)
Basics
Подменю Basics содержит три маленьких удобных сценария, относящихся к AppleScript: AppleScript Help (открывает Help Viewer и ищет слово AppleScript); AppleScript Website (открывает веб-страницу AppleScript в вашем веб-браузере); Open Script Editor (открывает программу Script Editor, предназначенную для чтения и редактирования сценариев AppleScript).
ColorSync
В этой папке находится группа сценариев ColorSync типа droplet (такой сценарий запускается, если вы перетаскиваете что-либо на его пиктограмму), представляющих интерес для художников, дизайнеров вебсайтов, издателей и т.д.
В некоторых случаях, выбрав сценарий в этом меню, вы увидите краткое информационное сообщение, и затем диалоговое окно Open (Открыть) для выбора графического файла, подлежащего обработке.
Другие действуют немедленно; например, сценарий Mimic PC monitor настраивает цвета экрана так, чтобы они близко соответствовали немного отличающимся оттенкам на мониторе компьютера с Windows.
Folder Actions
Едва ли вы будете активно пользоваться сценариями Folder Actions (Действия папки), поскольку точно такой же доступ к операциям над папками предоставляет Control-щелчок на папке (или внутри ее окна).
Font Book
Эти сценарии демонстрируют, каким образом можно автоматизировать некоторые задачи, связанные со шрифтами.
FontSync Scripts
FontSync — это благородная попытка Apple разрешить старую проблему настольных издательств. Вот вы закончили создание красивого информационного бюллетеня и несете его в местную типографию, чтобы напечатать на высококачественном оборудовании, и тут обнаруживаете, что придется выбросить оттиски и начать все сначала — и только из-за того, что шрифты выглядят совсем не так, как вы хотели. В типографии не оказалось в точности таких шрифтов, какие вы использовали для подготовки документа. Или, что еще хуже, шрифты имели ровно те же названия, но были созданы другой компанией, а потому слегка отличались от ваших определенными параметрами.
Идея FontSync в том, чтобы заранее уведомить пользователя о возможных нестыковках. Сценарий Create FontSync Profile за несколько минут создает файл профиля FontSync. Этот документ содержит ошеломляющее количество информации о дизайне, разрядке и завитушках всех шрифтов, установленных в системе. В типографии такой документ можно обработать дополнительным сценарием Match FontSync Profile. Он скрупулезно выявит различия шрифтов на Маке пользователя и машинах типографии.
Разумеется, технология эта неявно предполагает слишком многое: что в типографии установлены компьютеры Макинтош, что там умеют обращаться с FontSync, и еще — что пользователь не забудет предварительно создать и передать в типографию профиль FontSync.
iChat
iChat подвергся в 10.5 существенной переработке — Apple добавила массу интересных (хотя иногда бесполезных) функций. В том числе стало возможным запускать в качестве сигналов сценарии AppleScripts, когда происходит некое событие, связанное с вашими контактами. Например, можно автоматически принимать приглашения в чат от отдельных контактов или даже отвечать им заранее заготовленным приветствием. Можно даже управлять воспроизведением музыки на одном Маке, вводя команды в окно iChat другого Мака, находящегося у вас дома.
Info Scripts
Польза этих двух сценариев невелика. Current Date & Time отображает текущую дату и время в диалоговом окне, оснащенном кнопкой Clipboard (Буфер обмена) для копирования информации, готовой к вставке. Font Sampler выводит страницу с перечнем шрифтов (названия которых записаны в сценарии), устанавливающихся с Mac OS X. (Сценарий стал менее полезен, поскольку в Font Book появились аналогичные встроенные команды печати.)
Internet Services
Два сценария в этом меню заслуживают особого упоминания. Current Temperature by Zipcode показывает, какая температура за окном — по Фаренгейту и по Цельсию. Это лишний повод весь день не выходить из дому.
Stock Quote получает котировки акций выбранной компании с задержкой на 20 минут. Не так здорово, как получение котировок в реальном времени, но зато бесплатно.
Mail Scripts
Большинство сценариев в этом подменю решает некоторую конкретную задачу типа подсчета писем в ваших электронных почтовых ящиках или настройки новой учетной записи. Забавнее всех, конечно, сценарий Crazy Message Text.
Navigation Scripts
Сценарии из этой папки позволяют вам перейти в специальные папки Finder — прямо из меню, из любой программы. Если папке, которую нужно открыть, не назначен свой сценарий, выберите ее из списка в сценарии Open Special Folder.
Те, кого не смущает необходимость редактировать этот сценарий с помощью Script Editor, могут изменить его таким образом, чтобы он позволял выбирать и открывать больше одной папки одновременно. Надо лишь набрать текст multiple selections allowed true сразу после слов Choose folder to open: (в конце строки, расположенной примерно в начале второй трети сценария). Не забудьте сохранить изменения.
Printing Scripts
Эти сценарии должны продемонстрировать мощь AppleScript в области печати и создания документов PostScript и PDF.
Один из них, Print Window, закрывает давний пробел в Mac OS X. Он должен печатать текстовый список содержимого любой выбранной папки. (Правда, он немного глючит.)
Script Editor Scripts
Как сообщает команда About these scripts, эти 48 готовых сценариев помогают писать более быстрые и точные сценарии, поскольку во фрагментах кода нет опечаток и синтаксических ошибок. Совершенствуясь, вы сможете добавлять сюда собственные сценарии с фрагментами кода, ориентированного на те сценарии, которые вы обычно пишете, чтобы сделать свою работу еще более эффективной. (Создавая сценарий в Script Editor, вы вставляете эти фрагменты кода в текст с помощью комбинации Control-щелчок и выбора в меню быстрого доступа.)
UI Element Scripts
По большей части, сценарии делают свое дело тихо и незаметно. Но если требуется автоматизировать программу, не понимающую обычные команды AppleScript, сценарии могут «управлять» ею вручную, имитируя выбор команд в меню, нажатие кнопок и т.д.
Это средство, называемое сценариями интерфейса пользователя (UI, user-interface), будет действовать только после того, как вы откроете пульт Universal Access (Универсальный доступ)
программы System Preferences (Системные настройки) и установите флажок Enable access for assistive devices (Разрешить доступ для вспомогательных устройств).
Нет смысла запускать сценарии из подменю UI Element Scripts в том виде, как они есть: это лишь образцы, демонстрирующие правильный синтаксис.
URLs
Этот последний набор сценариев обеспечивает быстрый доступ к некоторым популярным вебсайтам. Исключение составляет сценарий Download Weather Map, который загружает текущую карту погоды континентальной части Соединенных Штатов, сохраняет ее на рабочем столе в файле weathermap.jpg, а затем открывает в Preview.
Можно добавлять в меню сценарии, файлы и даже интернет-адреса, после чего легко запускать их все из панели меню. Все, что вы перетащите в папку Library — Scripts, автоматически появится в меню сценариев.
С другой стороны, если вы станете добавлять в меню Script массу своих пунктов, удобнее будет убрать из него образцы от Apple. Нет проблем. Откройте AppleScript Utility и сбросьте флажок Show Computer scripts.