Oh! Can Not Diary

おきゃんなダイアリー

システム終了を検知してキャンセルするだけのアプリ ( Mac OSX )

最近、会社の勤怠管理が Web 打刻になった。
出勤時は大体時間が決まっているしリマインダーとかでいいんだけど、退勤時は時間もまばらで PC シャットダウンしてから打刻忘れに気付くことが多い。
それで、Mac でシャットダウンをキャンセルする方法を探していたら、参考になる記事を発見。

terut.hatenablog.com

GitHub - terut/logouthook


ログアウト時には Appliction の終了イベントが発火するから、Application に終了イベントをフックする処理を書いて、そのアプリを常駐させておくという方法。(ログイン項目に追加する。)

元記事ではキャンセルした時も 'continue quit' されていたので、その行だけ消したらシステム終了がキャンセルされて、無事やりたかったことが実現した。

技術的にはアプリの終了イベントをフックしているだけで、システムの終了を検知している訳ではない(必要がない)というのがポイントな気がする。
AppleScript で簡単にアプリが作れるというのも勉強になる。