El Capitanで、サービスを使ってFinderを開いたり閉じたりする

El Capitanで、BetterTouchToolを使ってFinderを開いたり閉じたりする | MacFeeling Blogでは、デフォルトのFinderウインドウを開くのにBetterTouchToolを使って実現していましたが、BetterTouchToolが有料になるとのことで、暫定的に標準のサービスを使って実現することにしてみました。

環境
OS X El Capitan 10.11.2

デフォルトのFinderウインドウとは
新規のウインドウではなく、すでにタブが設定されカスタマイズされているウインドウのこと
finder01

設定したショートカットキーが押された場合の動作

  • 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)
export_applescript01

2.サービスの作成
「アプリケーション」フォルダ内の、「Audomator.app」を起動して
「新規書類」をクリック
書類の種類で「サービス」を選んだら「選択」ボタンをクリック
「ライブラリ」から「ユーティリティ」を選択したら、
「アプリケーションを起動」を右側にドラッグ&ドロップ
ポップアップメニューにて、先ほど保存したアプリケーション(例では、DockFinderClick.app)を選択(一覧になければその他から)
サービスの受け取りのポップアップメニューは「入力なし」、検索対象は「すべてのアプリケーション」を選択。
automator01

作成したサービスを保存。
保存場所は「~/ライブラリ/Services/」(注意、/ライブラリ/Services/ではありません。ホームのライブラリです
(例では、DockFinderClick.workflow)

3.ショートカットキーの設定
「システム環境設定」»「キーボード」»「ショートカット」タブ内「サービス」に「~/ライブラリ/Services/」に保存したサービス(例では、DockFinderClick)が表示されているので、選択して右側の部分をクリックして、ショートカットキーを設定。(なかなか空いているキーがありませんが :wink_wp:)
keyboard_shortcut01

4.プライバシーの設定
このままではサービスのDockFinderClickは利用しているApple Scriptの関係でエラーが出て起動しないので、
「システム環境設定」»「セキュリティとプライバシー」»「プライバシー」タブで左下の鍵のアイコンをクリックして管理者パスワードを入力
プラスボタンをクリックして「DockFinderClick.app」を追加して、チェックを入れる。
security_privacy01

5.Dockに表示されないようにする
このままでは、ショートカットキーが押さてDockFinderClick.appが起動する度にDockに一瞬表示されてしまいます。
これを表示されないように設定します。

Finderで「DockFinderClick.app」を右クリック(またはコントロール+クリック)、「パッケージの内容を表示」を選択
Contents内のInfo.plistを

Xcodeがインストールしてあればダブルクリック
Xcodeが起動するので、一番下にカーソルを持っていくと、プラスが表示されるので、それをクリックして
Application is agent (UIElement)を選択、Booleanの値はYESを選択して、保存。
infoplist01

Xcodeをインストールしていなければ、テキストエディタで開いて、
最後の

</dict>
</plist>

の前に

	<key>LSUIElement</key>
	<true/>

を追加して保存。

これでとりあえずは使えるようになりました。

追記
起動直後と使用中に、ショートカットキーが反応しない時があります。

コメント

タイトルとURLをコピーしました