我有一台运行OS X Yosemite(10.10.2)的MacBook Pro,我非常喜欢 BetterTouchTool 。这是一个很棒的程序,但它往往会经常意外崩溃。为了解决这个问题,我尝试制作一个用户代理,如果它崩溃或者我不小心关闭它,它将重新打开 BetterTouchTool 。
我在编写用户代理时使用“keepAlive”函数执行此操作。这种方法完美地解决了我上面提到的问题,但有一个意想不到的副作用。每当计算机从睡眠状态唤醒时,代理就会打开一个重复的BetterTouchTool!我正在寻找一种方法来防止这种情况发生,例如告诉代理在运行之前检查 BetterTouchTool 的另一个实例,或者在计算机休眠时自动退出 BetterTouchTool 。如果我尝试keepAlive其他程序(例如TextEdit),似乎不会发生这种重复问题。
<?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>Disabled</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>local.BetterTouchTool.keepAlive</string>
<key>ProgramArguments</key>
<array>
<string>/Applications/BetterTouchTool.app/Contents/MacOS/BetterTouchTool</string>
</array>
</dict>
</plist>
任何帮助表示赞赏!我还有Lingon和LaunchControl,用于管理代理和守护进程,如果您更喜欢使用它们。谢谢!