applescript - 使用 AppleScript 切换设置
问题描述
我会先说脚本/编码/开发不在我的驾驶室里,所以提前为我的语法/普遍缺乏我正在做的事情道歉。
我正在尝试创建一个快速操作,它运行和我编写/拼凑在一起的 AppleScript。
目标是打开和关闭“请勿打扰”,并打开或关闭应用程序 Amphetamine 中的无限期会话,以便我的计算机不会进入睡眠状态。这实际上是在我的计算机上运行演示文稿之前和之后的拨动开关。
以下是我所拥有的:
tell application "Amphetamine"
if session is active end session
else
start new session
ignoring application responses
tell application "System Events" to keystroke "d" using {command down, option down, control down}
end ignoring
我收到了我不理解的错误。“预期为“结束”或“开启”,但发现脚本结束。” 一个注释,DND 的全部击键是我在 Stack Overflow 上找到的一个建议,它说,为 DND 创建一个键盘快捷键并通过 Apple Script 调用它。
我的假设是我的脚本说——嘿,如果安非他明正在运行会话,请将其关闭,否则启动会话。顺便说一句,只需将 DND 切换到当前的相反状态。
我愿意接受任何建议以获得预期的效果。
谢谢!
解决方案
这是一种方法,使用您的方法通过键盘快捷键切换“请勿打扰”,以及名为 的内置程序caffeinate
,它执行Amphetamine所做的事情(如果这是它在引擎盖下使用的,我不会感到惊讶) .
看起来很忙,但实际上并没有太多的事情发生。Run Shell Script动作切换开caffeinate
/关,反转之前的状态。当它关闭时,您的系统和显示器将正常运行;当它打开时,系统和显示器都不会空闲或进入睡眠状态——对于显示器来说,这意味着它将保持打开状态,除非您主动选择将其关闭。例如,我的 MacBook 上有一个热角,这样我的鼠标就可以通过移动到那个角来关闭我的显示器;当我的机器“含咖啡因”时,如果需要,我可以通过热角关闭显示屏,然后关闭翻盖,但机器仍会运行,但过热风险略低。
Run AppleScript操作没有从 shell 脚本接收任何输入——您可以看到它们没有连接。但是,它们仍然按顺序运行。因此,一旦咖啡因状态被切换,这用于将“请勿打扰”模式设置为与咖啡因一致,即如果咖啡因被激活,则 DND 被激活,如果它还没有被激活;如果不含咖啡因,如果 DND 处于活动状态,则 DND 将被停用。在这两种情况下,都会弹出一个警报,因为在 DND 处于活动状态时不会看到通知。如果它太侵入性,您可以删除与显示警报相关的代码 - DND 处于活动状态的微妙迹象是任务栏中通知中心的图标将变暗。
这是您可以从 GitHub 获取的工作流程的副本。
推荐阅读
- xml - Vbscript / UFT如何获取标签元素名称以验证标签元素的Xpath
- solr - 查询 solr 的计数:当 rows = 0 时省略字段?
- ruby-on-rails - 捆绑安装不起作用,显示致命错误
- php - 当我尝试导出时,PDF 导出冻结
- firebase - 除非登录 Nuxt JS 和 Firebase Auth,否则尝试保护页面
- deep-learning - PyTorch 运行时错误:无效参数 0:张量的大小必须匹配,但维度 1 除外
- ionic-framework - 离子:GoogleAnalytics 插件错误:ts:找不到名称“GoogleAnalytics”
- javascript - 如果 case A OR B 和其他事情,如果 case A XOR B,切换我想做一些事情的 case?
- powershell - 夏普串口 RS232
- python - werkzeug.routing.BuildError:无法为端点“成功”构建 url。您是否忘记指定值 ['name']?