将进度条添加到“执行 shell 脚本"的对话框中在 AppleScript 中 [英] Adding a progress bar to a dialog for a "do shell script" in AppleScript

查看:32
本文介绍了将进度条添加到“执行 shell 脚本"的对话框中在 AppleScript 中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个用 AppleScript 编写的应用程序,该应用程序将 St. Bernard 重定向 LaunchDaemon 移动到当前用户的目录,以便用户可以访问家中的任何网站,但让他们在返回之前将其放回原处学校.原因是在学校,学校不希望你访问的网站,iPrism 都会屏蔽,但是学生在家的时候,St. Bernard LaunchDaemon 会屏蔽相同的网站,我认为没有必要这样做.

I have an app I'm working on written in AppleScript that moves the St. Bernard redirect LaunchDaemon to the current user's directory so that the user can access any website at home, but lets them put it back before they go back to school. The reason for this is that at school, iPrism blocks whatever website the school doesn't want you going to, but the St. Bernard LaunchDaemon blocks the same websites when the students are at home, and I think that it's unnecessary to do that.

无论如何,我想在对话框中添加一个进度条,显示删除应用程序的 shell 脚本的输入.有人知道怎么做吗?

Anyway, I want to add a progress bar to a dialog that shows the input of the shell script that removes the app. Anyone know how to do that?

(我也不想在显示对话框正在删除..."按钮"上没有任何按钮,而是只有进度条.这可能吗?)

(I also wanted to not have any buttons on the display dialog "Removing..." buttons "", but instead just have the progress bar. Is this possible?)

代码如下:

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

提前感谢任何可以提供帮助的人!

Thanks in advance for anyone who can help!

推荐答案

Applescript in MacOS X 10.10 或更高版本具有进度条的内置术语.对于小程序,它在对话框中运行进度指示器.在脚本编辑器中,它显示在状态栏中.调整此术语:

Applescript in MacOS X 10.10 or later has built-in terminology for a progress bar. For applets, it runs a progress indicator in a dialog box. In script editor, it shows in the status bar. Adapt this terminology:

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

这篇关于将进度条添加到“执行 shell 脚本"的对话框中在 AppleScript 中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆