Spotlight検索から新規Finderウィンドウを開く方法
なかなか思うようにいかなかったのでメモ
方法だけ知りたい方は目次の「成功:〜」のところからお読みください。
やりたいこと
キーボードショートカットまたはSpotlight検索から新規Finderウィンドウを開きたい
他のアプリケーションを使用中でも呼び出せるようにしたい
すでにFinderウィンドウがある場合は、新規タブではなく新規ウィンドウとして開きたい
いろいろなやり方と問題点
キーボードショートカットを使う方法
mac純正の以下のキーボードショートカットを使う方法です。
”システム環境設定>キーボード>ショートカット>spotlight” からキーバインドも変更可能
どの画面からでも開くことができる
”最近の項目”じゃなくて”検索画面”が開くのがちょっと嫌
すでにFinderウィンドウを開いている場合、新規ウィンドウではなく新規タブで開く → 解決しました(追記)
また、”システム環境設定>キーボード>ショートカット>アプリケーション"から"新規Finderウインドウを開く"というショートカットを追加するやり方は、他のアプリケーションを使用しているときに使えなかったので没。
Spotlight検索から開く方法(Automator経由)
Spotlight検索はどの画面からでも呼び出すことができ、ファイル名やアプリケーション名を入力することでそれを開くことができます。
Automatorはapple純正の自動化ツールです。
Automatorでアプリケーション型ファイルを作れば、Spotlight検索から実行することができます。
コマンドラインのopenコマンドを使う方法
Automatorの"シェルスクリプトを実行"に以下のコマンドを入力します
openコマンドは-aオプションをつけることでアプリケーションを起動することができます。--args (引数)でアプリケーションに引数を渡すこともできます。
-nオプションをつけてみる
→失敗。新規ウィンドウが複数開いたりと動作が不安定なのでやめた方がいいかも。chromeなんかだとこれで新規ウィンドウを作れるのに…
Finderに引数を渡す
→Finderの起動オプションを調べても出てこなかった。
AppleScriptの"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
右上にある実行ボタンを押すとキー操作のアクセス許可が求められるので許可します。
"command+s"で保存し、適当な名前をつけます。(Spotlight検索時に入力する名前となります)
以上で準備は完了です。
Spotlight検索から呼び出す
Spotlight検索を表示します。デフォルトでは以下のキーです
先ほど作ったファイルの名前を入力(頭文字だけでok)すると、検索結果に出てくるのでEnterキーで実行します。
Finderウィンドウが新規で開かれるはずです。また、すでにFinderウィンドウが開かれている場合は、 新規タブではなく新規ウィンドウで開きます。
まとめると、新規でFinderウィンドウを開くキー操作は以下になります
少し面倒に感じるかもしれませんが、ファイル名を工夫すればキー自体は押しやすい位置にあるので楽です。何より、どの画面からもFinderを呼び出せるので便利です。ぜひ試してみてください。
(追記)新規ウィンドウではなく新規タブで開く問題は解決しました。
Finder環境設定にある"フォルダを新規ウィンドウではなくタブで開く”にチェックを入れていたことが原因だったようです。
これを外しておけば"make new Finder window"を使う方法でも新規ウィンドウで開いてくれます。使うときのキー操作や操作結果は変わりませんが、こっちのほうが拡張性が高いかも。
参考にさせていただいたもの
キーボードショートカットでFinderを起動する方法について
make new Finder windowについて
AppleScriptでキー操作を送る方法について
Finder windowのidを得る方法について
この記事が気に入ったらサポートをしてみませんか?