Один клик, чтобы открыть среду разработки; активировать «Системные события», только если они еще не активированы - PullRequest
0 голосов
/ 10 июля 2011

Я использую яблочный скрипт, чтобы открыть свою среду разработки.

ОБНОВЛЕНИЕ - Этот скрипт работает. Я переместил ввод текста в конец скрипта, и теперь он работает намного более согласованно.

tell application "Terminal"
    activate
    do script "cd web_sites/mydomain" in front window
    do script "rvm 1.9.2" in front window
    do script "rails server" in front window
end tell

tell application "System Events"
    if not (exists process "System Events") then
        tell application "System Events" to activate
    end if
    tell process "Terminal" to (keystroke "t" using command down)
end tell

tell application "Terminal"
    do script "cd web_sites/mydomain/public/stylesheets" in front window --> tab 2
    do script "rvm 1.9.2" in front window --> tab 2
    do script "sass --watch stylin.scss:stylin.css" in front window --> tab 2
end tell

tell application "System Events"
    tell process "Terminal" to (keystroke "t" using command down)
end tell

tell application "Terminal"
    do script "cd web_sites/mydomain" in front window --> tab 3
    do script "rvm 1.9.2" in front window --> tab 3
    do script "mate ." in front window

    delay 4
    do shell script "open -a Firefox http://localhost:3000"
end tell

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 10 июля 2011

Я вижу три возможных проблемы:

  1. Строки tell application "System Events" вложены в блок адреса tell Terminal.Вам следует создать два блока tell application "Terminal" с интервалами tell application "System Events" между ними.

  2. AppleScript не может выполнять два действия в одной строке.Другими словами, изменение обоих вхождений ...

    tell application "System Events" to tell process "Terminal" to (keystroke "t" using command down) activate
    

    ... на этот блок ...

    tell application "System Events"
       activate
       tell process "Terminal" to keystroke "t" using {command down}
    end tell
    

    ... должно сделатьтрюк.

  3. Это на самом деле не проблема, но на самом деле нет необходимости активировать System Events дважды.Приложение по умолчанию имеет пятиминутную задержку выхода (System Events автоматически завершится через пять минут бездействия).Вы должны удалить вторую команду activate, если ваш компьютер работает быстро.

Надеюсь, все это должно иметь смысл.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...