问题:像 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
。请点击代码中的网络链接了解更多详细信息。