Finderウィンドウをショートカットキーでセンタリングする

macOSでFinderウィンドウをセンタリング(中央寄せ)するショートカットの作り方を紹介。

なお、この方法はサードパーティーのアプリなどは必要ないがFinderウィンドウでしか効果がないためShiftltなどのアプリを使った方が手っ取り早いとは思う。

Finderウィンドウセンタリングショートカットの作り方

1. あらかじめAutomatorにアクセシビリティなどのアクセス許可を与えておく

下準備としてシステム環境設定の「セキュリティとプライバシー」のプライバシータブで「アクセシビリティ」などにAutomatorを追加してAutomatorにアクセス許可を与えておく。

2. Automatorを起動してクイックアクションを選択

続いてAutomatorを起動する。

「クイックアクション」を選択して「選択」ボタンをクリック。

3. AppleScriptスクリプトのワークフローを追加

「AppleScriptを実行(①)」のワークフローをダブルクリックするか右にドラッグしてワークフローに追加する(②)。

4. スクリプトをコピペして保存

「AppleScriptを実行」スクリプト入力欄に下記のスクリプトをコピペ(最初から入力欄に存在するデフォルトのスクリプトは消去する)。

tell application "Finder"
    set screenSize to bounds of window of desktop
    set screenWidth to item 3 of screenSize
    set screenHeight to item 4 of screenSize
end tell

tell application "System Events"
    set myFrontMost to name of first item of ¬
        (processes whose frontmost is true)
end tell

try
    tell application myFrontMost
        set windowSize to bounds of window 1
        set windowXl to item 1 of windowSize
        set windowYt to item 2 of windowSize
        set windowXr to item 3 of windowSize
        set windowYb to item 4 of windowSize

        set windowWidth to windowXr - windowXl
        set windowHeight to windowYb - windowYt

        if myFrontMost is "Terminal" then
            set bounds of window 1 to {¬
                round ((screenWidth - windowWidth) / 2) rounding as taught in school, ¬
                round ((screenHeight + windowHeight) / 2) rounding as taught in school, ¬
                round ((screenWidth + windowWidth) / 2) rounding as taught in school, ¬
                round ((screenHeight + windowHeight) / 2 + windowHeight) rounding as taught in school}
        else
            set bounds of window 1 to {¬
                round ((screenWidth - windowWidth) / 2) rounding as taught in school, ¬
                round ((screenHeight - windowHeight) / 2) rounding as taught in school, ¬
                round ((screenWidth + windowWidth) / 2) rounding as taught in school, ¬
                round ((screenHeight + windowHeight) / 2) rounding as taught in school}
        end if

        set the result to bounds of window 1

    end tell
end try

続いてメニューバーのファイルメニューから「保存」をクリックしてワークフローを保存する。

名前は何でも構わない。

5. ショートカットを割り当てる

続いてシステム環境設定の「キーボード」の設定を開いて「ショートカット」のタブに移動。

左から「サービス(①)」をクリックするとショートカット内に先ほど作ったワークフローが表示されているはずなので、このワークフローに好きなキーボードショートカットを割り当てる(②)。

ここではShift+Command+→キーのショートカットを割り当てている。

6. Finderウィンドウにアクセス許可を与える

割り当てたショートカットキーを押すと上記画像のようなFinderによるSystemEventsのアクセス許可を求められるので「OK」をクリック。

一度アクセス許可を与えたのであれば以降は表示されない。

7. ショートカットを実行してFinderウィンドウがセンタリングされたら成功

Finderにアクセス許可を与えたら再度ショートカットキーを押してみよう。

無事にFinderウィンドウがセンタリングされたら成功。

前述の通り本記事の方法はFinderのウィンドウにしか効果がないため有用性は薄いかもしれないが、サードパーティーなどの特別なアプリを用いなくてもFinderウィンドウであれば自由にセンタリングできるという点でユニークではあると思う。