Spotlight検索から新規Finderウィンドウを開く方法

なかなか思うようにいかなかったのでメモ
方法だけ知りたい方は目次の「成功:〜」のところからお読みください。

やりたいこと

  • キーボードショートカットまたはSpotlight検索から新規Finderウィンドウを開きたい

  • 他のアプリケーションを使用中でも呼び出せるようにしたい

  • すでにFinderウィンドウがある場合は、新規タブではなく新規ウィンドウとして開きたい

いろいろなやり方と問題点

キーボードショートカットを使う方法

mac純正の以下のキーボードショートカットを使う方法です。

⌘+option+Space : Finderの検索ウィンドウを表示

  • ”システム環境設定>キーボード>ショートカット>spotlight” からキーバインドも変更可能

  • どの画面からでも開くことができる

  • ”最近の項目”じゃなくて”検索画面”が開くのがちょっと嫌

  • すでにFinderウィンドウを開いている場合、新規ウィンドウではなく新規タブで開く → 解決しました(追記)

また、”システム環境設定>キーボード>ショートカット>アプリケーション"から"新規Finderウインドウを開く"というショートカットを追加するやり方は、他のアプリケーションを使用しているときに使えなかったので没。

Spotlight検索から開く方法(Automator経由)

Command+スペースバー : Spotlight検索を表示

Spotlight検索はどの画面からでも呼び出すことができ、ファイル名やアプリケーション名を入力することでそれを開くことができます。
Automatorはapple純正の自動化ツールです。
Automatorでアプリケーション型ファイルを作れば、Spotlight検索から実行することができます。

コマンドラインのopenコマンドを使う方法 

Automatorの"シェルスクリプトを実行"に以下のコマンドを入力します

open -a 'Finder'

openコマンドは-aオプションをつけることでアプリケーションを起動することができます。--args (引数)でアプリケーションに引数を渡すこともできます。

  • -nオプションをつけてみる

→失敗。新規ウィンドウが複数開いたりと動作が不安定なのでやめた方がいいかも。chromeなんかだとこれで新規ウィンドウを作れるのに…

  • Finderに引数を渡す

→Finderの起動オプションを調べても出てこなかった。

AppleScriptの"make new Finder window"を使う方法

(追記)
新規ウィンドウではなく新規タブで開く問題は解決しました。こちらの"make new Finder window"を使う方法のほうが使いやすくていいかもしれません。

以下が特定のフォルダ(今回は"/Users")を新規ウィンドウで開くサンプルコードです。
ちなみにAppleScriptで使えるコマンドは、スクリプトエディタのメニュー項目にある”ウィンドウ”>"ライブラリ"から確認することができます。

set myTarget to POSIX file "/Users"

tell application "Finder"
	make new Finder window to folder myTarget
end tell

上のコードはスクリプトエディタ上では目的通りに動作します。
(追記:正確にはフルスクリーン起動したスクリプトエディタから実行する場合)
しかし、Automatorの"AppleScriptを実行"ワークフローにコードを入力するとうまく動作せず、すでにFinderウィンドウがある状態では新規ウィンドウではなく新規タブで開きます。
どうやら"make new Finder window"の動作が状況によって変わるようです。
試しに以下のようにmakeの行の前にactivateコマンドを入れてみます。

set myTarget to POSIX file "/Users"

tell application "Finder"
	activate
	make new Finder window to folder myTarget
end tell

こうするとスクリプトエディタで実行した場合も新規タブで開かれました。
もしかするとFinderにフォーカスがある状態(画面左上のメニューに"Finder”が表示されている状態)で"make new Finder window"を実行すると新規ウィンドウではなく、新規タブで開かれるのかもしれません。
面倒なので"make new Finder window"を使うのは諦めました。
代わりに、"command+option+N"(新規Finderウィンドウ)のキーボードショートカットをAppleScriptから使用する方針にします。

成功:AppleScriptでキー入力を送る方法

同じくAppleScriptを使った方法です。
この方法ではAppleScriptをAutomatorのアプリケーション型ワークフローにしてSpotlight検索から実行します。

Automatorでアプリケーション型ワークフローを作る

まず、Automatorを開きます。Automatorはmacに最初から入っているの自動化アプリです。開いたら新規書類を作成して、書類の種類はアプリケーション型を選びます。

アプリケーションを選択

サイドバーのユーティリティから”AppleScriptを実行”を見つけダブルクリックすると、ワークフローの中に組み込まれます。

入力欄に最初からある紫色の文字を全部消して以下のコードをコピペします

on run {input, parameters}
	tell application "Finder"
		activate
		tell application "System Events"
			keystroke "n" using {command down, option down}
		end tell
	end tell
	return input
end run

または、特定のフォルダーを開きたい場合は以下のコードの"/Users"の部分を好きなフォルダのパスに変えてコピペします。

on run {input, parameters}
	set targetFolder to POSIX file "/Users"
	tell application "Finder"
		activate
		tell application "System Events"
			keystroke "n" using {command down, option down}
		end tell
		delay 0.5
		set target of the front Finder window to targetFolder
	end tell
	return input
end run

右上にある実行ボタンを押すとキー操作のアクセス許可が求められるので許可します。

ここでアクセス許可を与えられなかった場合、"システム環境設定>セキュリティとプライバシー>プライバシー>アクセシビリティ"から以下の3つのアプリケーションに許可を与えます。
- Automator
- スクリプトエディタ
- ここで作ったアプリケーション型ワークフローのファイル

"command+s"で保存し、適当な名前をつけます。(Spotlight検索時に入力する名前となります)

以上で準備は完了です。

(追記)
Finderの環境設定で"フォルダを新規ウィンドウではなくタブで開く"にチェックを入れていない場合、"新規Finderウィンドウ”のショートカットが"command+N"になっています。上記コードの
keystroke "n" using {command down, option down}
の部分を
keystroke "n" using {command down}
に変更してください。

Spotlight検索から呼び出す

Spotlight検索を表示します。デフォルトでは以下のキーです

Command+スペースバー : Spotlight検索を表示

先ほど作ったファイルの名前を入力(頭文字だけでok)すると、検索結果に出てくるのでEnterキーで実行します。

Finderウィンドウが新規で開かれるはずです。また、すでにFinderウィンドウが開かれている場合は、 新規タブではなく新規ウィンドウで開きます。

まとめると、新規でFinderウィンドウを開くキー操作は以下になります

Command+スペースバー → ファイル名の頭文字 → Enter

少し面倒に感じるかもしれませんが、ファイル名を工夫すればキー自体は押しやすい位置にあるので楽です。何より、どの画面からもFinderを呼び出せるので便利です。ぜひ試してみてください。

(追記)新規ウィンドウではなく新規タブで開く問題は解決しました。

Finder環境設定にある"フォルダを新規ウィンドウではなくタブで開く”にチェックを入れていたことが原因だったようです。

これを外しておけば"make new Finder window"を使う方法でも新規ウィンドウで開いてくれます。使うときのキー操作や操作結果は変わりませんが、こっちのほうが拡張性が高いかも。

参考にさせていただいたもの

キーボードショートカットでFinderを起動する方法について

make new Finder windowについて

AppleScriptでキー操作を送る方法について

Finder windowのidを得る方法について


この記事が気に入ったらサポートをしてみませんか?