我正在寻找一个选项来为Apple邮件中的所有未读邮件上色,我找到了以下脚本
tell application "Mail"
set background color of (messages of inbox whose read status is false) to red --unread
set background color of (messages of inbox whose read status is true) to none --default read
end tell
我将此脚本添加到邮件规则中,该规则适用于每条邮件,然后它几乎完美无缺。唯一的问题是它只能工作一次。因此,如果我收到一条新消息,而不是脚本没有注意到它(因此它不是红色,只是粗体),或者如果我读了一封电子邮件,那么它仍然是红色的。 请有人帮助我,脚本将循环运行,或者脚本将每秒运行。
仅供参考,我是一个Windows用户(mac对我来说真的很新)我正在寻找一个预定的任务选项,但我没有在我的Mac上找到这么简单的事情。
答案 0 :(得分:4)
您可以通过多种方式运行计划任务。 Apple建议使用“launchd”代理。只需google“launchd tutorial”就可以获得很多例子。
基础知识是这样的...你创建一个plist文件(带有.plist文件扩展名的xml文本文件),无论你想要什么指令,都把它放在〜/ Library / LaunchAgents文件夹中。教程将向您展示如何创建许多不同类型的plist文件。将plist添加到该文件夹后,请注销/登录以使其生效。要禁用plist fie运行,请将其从文件夹中删除并注销/登录。就这么简单。
作为您的特定请求的示例,这个将每隔60秒运行一次AppleScript ...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.myName.myProgramName</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>/path/to/applescript.scpt</string>
</array>
<key>StartInterval</key>
<integer>60</integer>
</dict>
</plist>
所以在那个plist示例中,您只需要将值放在“com.myName.myProgramName”,“/ path / to / appcriptcript.scpt”和“60”中,这是运行applescript的秒数。
注意:您应该为plist文件命名与“com.myName.myProgramName”相同的名称,并将“.plist”作为其文件扩展名。
祝你好运。