Power Manager是如何显示不活动警告的,你一定要知道!
作者:互联网
如果要在不活动触发注销之前警告用户,该怎么办呢?不活动触发的事件通常用于自动注销或关闭闲置或闲置的Mac。这对于实验室等学术环境中的公共计算机和Mac电脑非常有用。在本文中,小编将学习如何在注销之前很好地警告用户。
Power Manager有一个计划助手任务,专门用于不活动后注销。当不活动触发器发生时,将立即执行相应的操作。如果要注销这些操作,则将在几秒钟后显示较大的警告,然后执行注销过程。鉴于Mac可能尚未使用,这通常是合理的行为。
有几种方法可以解决此问题。我们可以在事件的动作中添加延迟。另外,我们可以在未来几分钟内动态安排确定的注销时间。两种方法都会显示标准的Power Manager倒计时通知。但是这两种方法都使用户无法轻松取消挂起的注销。
我们需要一个解决方案,允许用户避免注销,但无需授予其他权限或凭据。事实证明这非常简单。
通过创建第二个事件(也由不活动触发),该事件运行一小段AppleScript,我们可以显示我们想要的任何警告。诀窍是,与现有的注销事件相比,第二个警告事件需要更短的不活动时间。
如果用户忽略该警告,并且计算机继续处于闲置状态,则会注销。但是,如果用户取消该警告,则由于计算机的不活动时间段将重置为零,因此未决注销将被取消。
不活动时间段被重置为零,因为消除警告的行为包括按下键或移动鼠标。macOS认为这两种行为都是用户活动的一种形式。
该警告将通过简短的AppleScript处理。将显示对话框的命令是够我们眼前需要,但其他选项,如显示通知,可以用来放置在通知中心警告。
我们完整的AppleScript将是(将其复制并粘贴到您的Script字段中):
#!/usr/bin/osascript
display dialog "This computer is about to log out. Click Cancel to continue using the computer." with title "Inactivity Warning" default button "Cancel" buttons ["Cancel"] with icon caution giving up after (3 * 60)
虽然看起来很复杂,但是AppleScript是display dialog带有参数列表的单个命令。参数为:
-"This computer … the computer." 是对话框本身中显示的主要文本。
-with title "Inactivity Warning" 设置对话框的标题
-default button "Cancel"将默认按钮设置为“取消”
-buttons ["Cancel"]确保仅显示一个“取消”按钮
-with icon caution 显示警告图标以突出显示对话框的性质
-giving up after (3 * 60) 3分钟后自动取消对话框
让我们逐步介绍如何创建此警告事件以伴随现有的注销事件。
创建不活动警告事件
1、启动Power Manager.app
2、选择“添加事件”或“文件”>“新建...”>“新事件”,然后在“计划助手”不活动后运行脚本
3、继续执行脚本步骤
4、从上方复制并粘贴AppleScript脚本。包括这一osascript行并替换所有现有文本很重要:
5、继续执行“不活动之后”步骤,然后输入所需的不活动时间。在这种情况下,我将在7分钟后显示警告-这是我现有的注销事件发生前的三分钟。
6、继续通过“时间约束”步骤。
7、继续通过“交互式约束”步骤。
8、在“为什么”步骤中命名并描述您的事件。
9、继续并添加新的警告事件。
在此阶段,您的警告事件已经准备就绪。您应该测试该事件,以确保AppleScript可以正常工作。Schedule Assistant任务在非活动状态下创建具有按需行为集的事件后运行脚本。这意味着您可以立即触发新事件-除了等待几分钟以触发不活动计时器。
避免登录窗口
该事件有问题。即使没有人登录,也会触发该事件。
让我们通过在事件中添加一个条件来解决此问题。我们将使用事件编辑器执行此操作。
1、在Power Manager.app中,按住Option键,然后双击新事件。这将在事件编辑器中打开事件。
2、选择添加条件>控制台用户>用户登录弹出菜单项。
3、保存更改的事件。
新的警告事件已完成。在适当的条件下,没有人登录时,事件将不再尝试显示警告对话框。
与往常一样,测试您的事件以确保其正确执行并按照您的要求执行。一旦工作,就可以调整设置并考虑添加更多约束或扩展发出警告的方式。
标签:Power,对话框,AppleScript,Manager,事件,注销,活动,警告 来源: https://www.cnblogs.com/macz/p/14544947.html