LoginSignup
13
12

More than 5 years have passed since last update.

spotlightでsleepできるようにする

Last updated at Posted at 2014-11-02

さようならAlfread

 Macユーザーには必須のランチャーalfred。spotlightでは出来ない機能の一つとして、「screensaver」でスクリーンセーバー状態に入って、「sleep」でマシンがスリープするSystem機能がある。ショートカットとか覚えるのは苦手なので、コマンドで実行できるのが重宝していた。
これがspotlightで実現できたら、もうAlfread外してspotlightでいいような気がしてきたので、spotlightからsleepできるようにした。

コマンドラインからスリープできるようにする

~/bin/sleepコマンドを作成。

$ emacs ~/bin/sleep
#!/usr/bin/osascript
tell application "Finder" to sleep

これで、コマンドラインでsleepとうてばマシンをスリープできるようになる。
sleepという名前は/bin/sleepとかぶるから、気になる人はmac_sleepとか適当な名前にしておいたほうがいいのかも。ぼくはspotlightからsleepと入れたいから、痛い目にあうまではこのままにしておくつもりだけど。

ターミナルの設定

sleepから復帰した時 [Process completed] のウインドウが残ってウザい人は、下記の設定で自動的に閉じるように設定。

設定 → Profiles → Shell → When the shell exits: を「Don’t close the window」から「Close if the shell exited cleanly」に変える

spotlightから呼び出す

 ここまでの処理が出来上がっていれば、普通にspotlightにsleepと打てばsleepコマンドでスリープさせることができるはず。

Spotlight_and_New_-_Qiita_and_1__bash_and_Untitled.png

おまけ

 同様にしてshutdownとかscreensaverとかも実現できます。

shutdown

#!/bin/sh
osascript -e 'tell application "Finder" to shut down'

screensaver

#!/usr/bin/osascript
tell application "System Events" to start current screen saver

desktop

#!/bin/sh
/Applications/Mission\ Control.app/Contents/MacOS/Mission\ Control 1

昔あったような全部のウインドウを最小化する(あとで戻すのがめんどくさい)あれではなくて、OS標準のMissionControlの機能。一時的に全てのウインドウが隠れてデスクトップが見えるようになり、画面端をクリックすれば全てのウィンドウが元の位置に戻ります。

13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12