У меня есть несколько сервисов Automator, основанных на appleScript, например, Launch Emacs With Selected File
:
tell application "Finder"
set selectedDirectory to (quoted form of POSIX path of (target of window 1 as alias))
set selectedItem to (quoted form of POSIX path of (the selection as alias))
tell application "Terminal"
tell window 1
do script "cd " & selectedDirectory & " && emacs " & selectedItem
end tell
activate
end tell
end tell
Я назначил его сочетанию клавиш Ctrl-E
и пользуюсь им уже несколько месяцев.
Но сервис у него довольно нестабильный. Когда мой компьютер, MacBook Pro, работающий под управлением OS X 10.8, загружается нормально, реагирует на другие задачи и терминал уже запущен, может произойти все следующее:
- Примерно в половине случаев это быстро, на ответ уходит меньше секунды.
- Около 25% времени занимает три секунды или около того, чтобы запустить новое окно терминала.
- Около 5% времени это занимает вечность. Я склонен полагать, что он не отвечает вообще, но через двадцать секунд наконец появляется окно, что довольно странно.
- Примерно в 10% случаев я получаю сообщение об ошибке. В
Workflow encountered an error
или что-то в этом роде. - Примерно в 10% случаев ярлык не отвечает вообще (он просто выделяет другой файл; но при этом ярлык конфликта не возникает). Я должен пойти в
Finder->Services->Launch ...
чтобы использовать сервис.
Есть идеи, почему сервис так нестабилен? (Ну, это не единственный мой нестабильный сервис; фактически каждый созданный мной сервис довольно нестабилен ...) Заранее спасибо.