El Capitanで、BetterTouchToolを使ってFinderを開いたり閉じたりする | MacFeeling Blogでは、デフォルトのFinderウインドウを開くのにBetterTouchToolを使って実現していましたが、BetterTouchToolが有料になるとのことで、暫定的に標準のサービスを使って実現することにしてみました。
環境
OS X El Capitan 10.11.2
デフォルトのFinderウインドウとは
(新規のウインドウではなく、すでにタブが設定されカスタマイズされているウインドウのこと)
設定したショートカットキーが押された場合の動作
- Finderが前面にあって、ウインドウが一つも開いていない時は、デフォルトのウインドウを開く
- Finderが前面にあって、ウインドウが一つ以上開いている時は、全てのウインドウを閉じる。
- Finderが背面にある時は、デフォルトのウインドウを開いて前面に持ってくる
1.スクリプトのアプリ化
前回保存したスクリプト(例では、DockFinderClick.scpt)ファイルをダブルクリック。
「ユーティリティ」フォルダ内の、「スクリプトエディタ.app」が起動するので
tell application "System Events" --前面にあるアプリケーション名を取得 set appName to name of first application process whose frontmost is true end tell set openFlg to true if "Finder" is in appName then --Finderが前面にある tell application "Finder" if (number of window > 0) then --Finder ウインドウが1つ以上開いているので全て閉じる close every window set openFlg to false end if end tell end if if openFlg then --デフォルトのウインドウ(新規のウインドウではなく、すでにタブが設定されカスタマイズされている)を開く tell application "System Events" tell process "Dock" click UI element "Finder" of list 1 end tell end tell end if
「ファイル」メニューから「書き出す…」を選択
ファイルフォーマットをアプリケーション
オプションで実行専用にチェックを入れて保存してください。(例では、DockFinderClick.app)
2.サービスの作成
「アプリケーション」フォルダ内の、「Audomator.app」を起動して
「新規書類」をクリック
書類の種類で「サービス」を選んだら「選択」ボタンをクリック
「ライブラリ」から「ユーティリティ」を選択したら、
「アプリケーションを起動」を右側にドラッグ&ドロップ
ポップアップメニューにて、先ほど保存したアプリケーション(例では、DockFinderClick.app)を選択(一覧になければその他から)
サービスの受け取りのポップアップメニューは「入力なし」、検索対象は「すべてのアプリケーション」を選択。
作成したサービスを保存。
保存場所は「~/ライブラリ/Services/」(注意、/ライブラリ/Services/ではありません。ホームのライブラリです)
(例では、DockFinderClick.workflow)
3.ショートカットキーの設定
「システム環境設定」»「キーボード」»「ショートカット」タブ内「サービス」に「~/ライブラリ/Services/」に保存したサービス(例では、DockFinderClick)が表示されているので、選択して右側の部分をクリックして、ショートカットキーを設定。(なかなか空いているキーがありませんが :wink_wp:)
4.プライバシーの設定
このままではサービスのDockFinderClickは利用しているApple Scriptの関係でエラーが出て起動しないので、
「システム環境設定」»「セキュリティとプライバシー」»「プライバシー」タブで左下の鍵のアイコンをクリックして管理者パスワードを入力
プラスボタンをクリックして「DockFinderClick.app」を追加して、チェックを入れる。
5.Dockに表示されないようにする
このままでは、ショートカットキーが押さてDockFinderClick.appが起動する度にDockに一瞬表示されてしまいます。
これを表示されないように設定します。
Finderで「DockFinderClick.app」を右クリック(またはコントロール+クリック)、「パッケージの内容を表示」を選択
Contents内のInfo.plistを
Xcodeがインストールしてあればダブルクリック
Xcodeが起動するので、一番下にカーソルを持っていくと、プラスが表示されるので、それをクリックして
Application is agent (UIElement)を選択、Booleanの値はYESを選択して、保存。
Xcodeをインストールしていなければ、テキストエディタで開いて、
最後の
</dict> </plist>
の前に
<key>LSUIElement</key> <true/>
を追加して保存。
これでとりあえずは使えるようになりました。
追記
起動直後と使用中に、ショートカットキーが反応しない時があります。
コメント