Macを新しくしてからHyperSwitchの調子が悪いのですが、 他のアプリに乗り換えようと思いましたが使い勝手が良いのが無いので引き続き使っています。
特に外部モニタと切り離したりつけたりするときに表示がおかしくなるんですが、 この際、アプリを再起動すると元に戻ります。
ただ、HyperSwitchをメニューバーに表示させてないので 再起動するときは一度HyperSwitchをスポットライトから呼んで環境設定を 出してメニューバーを表示させてそこにあるメニューから終了させて また立ち上げて。。。 みたいな事をやってましたが、流石に煩わしいのでAppleScriptで再起動する スクリプトを作りました。
リスタートスクリプト
こんな感じのスクリプトを
AppleScriptエディタで書いて
~/Library/Scripts/restartApp.scpt
として保存します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
最初のtry文のところは擬似デフォルト引数みたいなことをするために、
最初にデフォルト値をセットして、
それぞれの値が引数の配列(pars
)に入ってればそれをセット、
みたいな事をやっています。
引数としてはアプリへのパスとアプリ名。
(~/Applications/
に居るものもあるので)
その次にis running
でアプリが起動しているかどうかをチェックしています。
起動していたらquit
を送って停止するわけですが、
この時にすぐに次に言ってしまうときちんと終了する前に
次の処理に言ってしまうので終了するのを待つのを入れています。
(delay 0.1
で0.1秒待ち)
最後にアプリをパス事指定してactivate
すればOK。
このスクリプトを直接実行した時は最初に書いてある デフォルトのアプリを使います。
今のところHyperSwitch専用なのでデフォルト値もそのままで これを直接使っても良いのですが、 他でも使いまわすには次の様なスクリプトを使います。
1 2 3 4 5 6 |
|
このファイルをrestartApp.scpt
と同じディレクトリに入れておきます。
最初の3行はこのスクリプトの位置を取得していて、
これを使ってrestartApp.scpt
へのフルパスを求めます。
後は関数restartApp
にアプリ名とパスを渡して上げればOK。
これで、メニューバーにAppleScriptを表示させておいて そこから実行したり、 もしもっっと頻繁に使うようなら BetterTouchToolなんかでキーボードショートカットに指定しておけば さらに簡単に再起動が出来るようになります。