Saturday, September 10, 2011

OS X AppleScriptでスクリンロック

出かけ用のノートをマックにしてから色々便利ではあるが、やっぱりショートカットの足りなさにはどうしようもない。例えば、スクリンロックとか。

で、Google神に祈ってみた。

Lock Screen?

神様に感謝。

要はAppleScriptでスクリンロックできるってこと。ってか、ScreenSaverEngineを実行させるスクリプトを書けばいいってことかな。その中でもkaiという人が書いた方法が一番シンプルでしっかりと動いてくれた。

Note that, if the user attempts to dismiss the screen saver immediately after the activate command has been sent, a Process Manager error number -609 [connectionInvalid] may occur: "ScreenSaverEngine got an error: Connection is invalid."

This can usually be avoided by using the launch command, instead:
launch application "ScreenSaverEngine"
けど、このまま入れるとScreenSaverEngineを参照できないというエラーが起きるので、絶対パスを指定する。

launch application /System/Library/Frameworks/Screensaver.framework/Versions/A/Resources/ScreenSaverEngine.app
これを名前を付けてアプリケーションとして保存。勝手にソースを開かれるのを防ぐにはバイナリにしてもいいだろう。後はSpotlightで実行可能だ。自分は重複してもしょうがないと思いつつ、Lockという名前にしちゃった。だってすぐ忘れちゃうしな。

別の方法としてはサービスとして登録する方法があった。けど、こちらは格アプリケーションと相性が悪いのか、ショートカットが効かなかったりするのでパス。

No comments:

Post a Comment