Mac. 系统不活动后自动退出特定程序

Mac. 系统不活动后自动退出特定程序

问题:像 Things 和 Together 这样的程序不喜欢在两个地方打开,因此虽然 Dropbox 对于某些事情来说很棒,但对于这些事情来说却不太理想。可能会发生数据丢失。因此,在台式机/笔记本电脑上使用这些程序是一个问题,并且记住退出它们已被证明无法始终起作用。

所需解决方案:付费应用程序(肯定存在?肯定不止我一个人想要这个),我可以在其中添加特定程序,并在系统(不是那个程序)不活动 x 分钟后自动退出它们。或者一个带有一些使用说明的 AppleScript 解决方案。我对 AppleScript 和自动程序一窍不通。我试图找到某种方法将其与屏幕保护程序启动联系起来,但都不起作用。

超级加分点:应用程序可以在睡眠状态下退出那些选定的程序。

我知道我可以从笔记本电脑访问桌面,但如果存在更自动化的解决方案,我更喜欢它。我找过了,但如果存在的话,我找不到它。

欢迎提出任何想法。谢谢!

答案1

我曾经使用过一个脚本来处理这个问题:

(*
Applescript Application to Auto Quit Things after certain period of system idle
http://culturedcode.com/forums/read.php?7,30174,30597
*)
(*
To make this runable, save as application.
To not show in Dock, set LSBackgroundOnly in Info.plist of created app bundle, or other ways in http://groups.google.com/group/macenterprise/browse_thread/thread/be7db35451e1dc70
*)

global quit_after, check_every

set quit_after to 900
set check_every to 100

(*
display dialog "Check is performed every " & check_every & " seconds. Things will be quit after " & quit_after & " seconds of system inactivity."
*)

on reopen
    display dialog "Check is performed every " & check_every & " seconds. Things will be quit after " & quit_after & " seconds of system inactivity."
end reopen

on idle
    set idletime to do shell script "echo $((`ioreg -c IOHIDSystem | sed -e '/HIDIdleTime/ !{ d' -e 't' -e '}' -e 's/.* = //g' -e 'q'` / 1000000000))"
    if (idletime as integer) > quit_after then
        tell application "System Events"
            if ((name of processes) contains "Things") then
                tell application "Things" to quit
            end if
        end tell
    end if
    return check_every
end idle

您可以使用 AppleScript 编辑器运行它来制作应用程序,然后通过在系统偏好设置Login Items中设置自动运行它Account。请点击代码中的网络链接了解更多详细信息。

相关内容