普段エディタは iTerm 内で vim を使っているので
iTerm に Hotkey を設定し、ブラウザを見てる時にHotkeyでさっとエディタを表示したり非表示に戻したりというのをよくやる。
それを Atom でも実現したかった。
最初、BetterTouchTool を使った方法を紹介したこちらの記事を見つけたんだけど
Macアプリをショートカットキーに登録して、一発起動させるアプリ「BetterTouchTool」 | iDEACLOUD/dev
これはあくまで起動だけで、起動後、別のアプリを使ってる状態からすぐに表示させるといったことには対応していないみたいなのでもう少し調べてみた。
手順
これを参考にした。
osx - Global hotkey to show/hide a specific app in OS X? - Super User
以下、手順。
- Automator.app を開く。書類の種類は「サービス」を選ぶ
- 左側のアクションから「AppleScript を実行」を選ぶ(検索ボックスで applescript と入力すると早い)
- 右側のコード入力欄に以下を貼り付け
on run {input, parameters} tell application "System Events" to tell application process "Atom" if frontmost then set visible to false else tell application "Atom" to activate end if end tell return input end run
参考元との違いとして、
- 元のコードだと対象のアプリケーションが起動しているかどうかチェックしてるようだが、必要ないかなと思って削除
- 元のコードだと「画面に表示されてるけどフォーカスあたってない」時にキーを入力すると非表示になる
のでちょっと変更した。
最後に好きな名前で保存する。
次に、システム環境設定 > キーボード > ショートカット を開き、
[サービス] から先ほど作成したサービス名を探す。
右端の「なし」と書かれているところをクリックして好きなショートカットキーを設定する。
問題点
アプリによって効かないキーの組み合わせがあることと、iTerm の Hotkey に比べて格段に遅い。。。
Atom だったら Hotkey あるんじゃないかという気もする。