Добавление индикатора прогресса в диалог для "сценария do shell" в AppleScript

У меня есть приложение, над которым я работаю, написанное на AppleScript, которое перемещает перенаправление Сенбернара LaunchDaemon в каталог текущего пользователя, так что пользователь может получить доступ к любому веб-сайту дома, но позволяет ему вернуть его обратно, прежде чем он вернется в школу. Причина этого в том, что в школе iPrism блокирует любой веб-сайт, в который школа не хочет, чтобы вы заходили, но St. Bernard LaunchDaemon блокирует те же веб-сайты, когда ученики дома, и я думаю, что в этом нет необходимости.

В любом случае, я хочу добавить индикатор прогресса в диалог, который показывает ввод сценария оболочки, который удаляет приложение. Кто-нибудь знает, как это сделать?

(Я также хотел, чтобы на display dialog "Removing..." buttons "", но вместо этого просто есть индикатор выполнения. Это возможно?)

Вот код:

display alert "You may have to restart your computer after using this tool!" buttons {"Ok"} default button 1

set question to display dialog "RMR (Remove My Redirect)

Are you unable to go to a website at home because of that annoying St. Bernard Redirect?

If the answer is Yes, then RMR is your solution! Simply Choose Remove to remove it, and Replace to put it back." buttons {"Remove", "Replace", "Erase Evidence"} default button 3
set answer to button returned of question

if answer is equal to "Remove" then do shell script "mv /Library/LaunchDaemons/com.stbernard.rfcd.plist ~/"

if answer is equal to "Replace" then do shell script "mv ~/com.stbernard.rfcd.plist /Library/LaunchDaemons/"

if answer is equal to "Erase Evidence" then set question to display dialog "Are you sure? RMR will be deleted forever." buttons {"Yes", "No"} default button 2
set answer to button returned of question

if answer is equal to "No" then do shell script "echo"

-- Progress bar goes on the below dialog

if answer is equal to "Yes" then ¬
    tell application "Terminal"
        display dialog "Removing..." buttons ""
        do shell script "srm -rf ~/Downloads/RMR.app; history -c; killall Terminal"
        delay 20
        quit
    end tell

Заранее спасибо всем, кто может помочь!

1 ответ

Applescript в MacOS X 10.10 или более поздней версии имеет встроенную терминологию для индикатора выполнения. Для апплетов он запускает индикатор прогресса в диалоговом окне. В редакторе сценариев это отображается в строке состояния. Адаптируйте эту терминологию:

set n to 10

set progress total steps to n
set progress description to "Script Progress"
set progress additional description to "This should be helpful"

repeat with i from 1 to n
    delay 1
    set progress completed steps to i
end repeat
Другие вопросы по тегам