最近、会社の勤怠管理が Web 打刻になった。
出勤時は大体時間が決まっているしリマインダーとかでいいんだけど、退勤時は時間もまばらで PC シャットダウンしてから打刻忘れに気付くことが多い。
それで、Mac でシャットダウンをキャンセルする方法を探していたら、参考になる記事を発見。
ログアウト時には Appliction の終了イベントが発火するから、Application に終了イベントをフックする処理を書いて、そのアプリを常駐させておくという方法。(ログイン項目に追加する。)
元記事ではキャンセルした時も 'continue quit' されていたので、その行だけ消したらシステム終了がキャンセルされて、無事やりたかったことが実現した。
技術的にはアプリの終了イベントをフックしているだけで、システムの終了を検知している訳ではない(必要がない)というのがポイントな気がする。
AppleScript で簡単にアプリが作れるというのも勉強になる。