AppleScript でスリープから復帰したことを調べられないかと思い、探してみる。
なんのことはない。system.log にスリープとスリープ解除は書き出されているのですね。で、次のようなスクリプト。
property theRes : ""
on run
set theRes to do shell script "grep -i 'system wake' /var/log/system.log"
end run
on idle
set tmp to do shell script "grep -i 'system wake' /var/log/system.log"
if tmp is not theRes then
set theRes to tmp
display dialog "Wake up!" buttons {"OK"} default button 1 giving up after 15 with icon 1
end if
return 1
end idle
これだけでスリープ解除を調べることができました。詳しく動作の検証を行っていないのでもしかしたら動かなくなったりするかもしれません。
ちなみに、
do shell script "grep -i 'system sleep' /var/log/system.log"
とすることでスリープを検出することができますが、何か動作を行う前にスリープしてしまい、スリープが解除されたときにスクリプトが実行されるのでこの方法は使えません。
0 件のコメント :
コメントを投稿