我的 iCal 有新行为(自从升级到 SL 以来)。每次我在邮件中收到 ical 附件时,iCal 应用就会飞到我面前。我看不出有什么方法可以关闭此行为,而且当我忙于其他活动时,它会非常令人讨厌。帮忙吗?
编辑:我希望 iCal 添加邀请,这样当我使用 cmd-tab 切换到应用程序时,这些项目就会进入队列等待批准。我希望了解如何停止强制应用程序成为顶级窗口的弹出操作。
答案1
打开 Mail.app 中的偏好设置,点击常规选项卡。然后将“将邀请添加到 iCal”从“自动”更改为“从不”。
答案2
对我有用的解决方案是在日历启动后执行此命令:
defaults write com.apple.iCal NSDontMakeMainWindowKey YES
这有点麻烦,因为你必须记住在日历启动后执行此操作,而我总是忘记这样做。所以我写了一个小的 launchctl 脚本来帮我做这件事。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd> <plist version="1.0"> <dict>
<key>Label</key>
<string>CalendarSquelch</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>-e</string>
<string>tell application "System Events"
set p to name of processes
if p contains "Calendar" then
do shell script "defaults write com.apple.iCal NSDontMakeMainWindowKey YES"
end if
end tell</string>
</array>
<key>StartInterval</key>
<integer>300</integer> </dict> </plist>
此脚本每 5 分钟检查一次日历是否正在运行。如果正在运行,则执行那个小默认命令。将此文件保存到 ~/Library/LaunchAgents/CalendarSquelch.plist
然后运行以下命令来激活它:
launchctl load ~/Library/LaunchAgents/CalendarSquelch.plist
这一切都是在 macOS Sierra 上完成的。
答案3
解决方案是在邮件偏好设置中。将常规设置中的“将邀请添加到日历”更改为“从不”。事件仍将添加到您的日历中,只是应用程序不会再弹出。