記事内に広告が含まれる場合があります

Mac版Safari 14:新規タブの開く位置を自由に設定する方法(現在のタブの右隣とか)

Apple

久々のMacネタ。

自分の場合MacとiOS端末を使っているので、ブラウザは各端末間の連携が優れているSafariが便利。

だけど、SafariはChromeやFirefoxと比べると拡張機能が乏しく自分の思うようにカスタマイズしにくい。

先代のSafari V12からは、 従来の拡張機能ライブラリであった「Safari Extensions Gallery」が廃止され、今まで便利に使っていた多くの拡張機能が使用不可になってしまった。これにより不便さが際立った。(セキュリティの面では良いのでしょうけどね。。)

そして私の場合、Safariをメインとして使用できない原因の一つがタブの順序をいじれなかったことです。

Safariの場合、現在表示しているサイト内にあるリンクを別ページで開く場合やブックマークツールバー(Safariでは「お気に入りバー」)を右クリックで新規タブで開く場合、または新規タブを作成する場合など、そのタブが開かれる場所はSafari自身を決定し、ユーザーがそれに干渉することは全くできない。

(Safari v11頃までは、canisbosさんのTab Positionsという拡張機能があったのですが、もうディスコンになっています。)

一方で、Chrome系のブラウザだと「Tab Position Customizer 2」などの拡張機能を使えば、新規タブやリンクを自分の好きな場所で開かせることが可能になる。

私の場合は、(リンククリック、新規タブなど)全ての新しいタブは、現在開いてるタブの右隣で開くようにしたい。

タブの数が多い状態だと、(従来の)Safariのルールのタブの開き方の場合、新しいタブがどこで開かれているのかいちいち探す必要があって非効率きわまりなかった。

解決方法が見つかったので、ここにメモしておきます。

ズバリこの件について解説されているサイト(Six Colorsさん)があるので、英語でもOKの方は、そちらを見に行ってください。

https://sixcolors.com/post/2020/03/quick-tip-make-safari-tabs-open-at-the-end/

以下に、私の(わかりにくい)解説も一応載せておきます。。

Mac版Safariのタブ順序を自由に設定する方法:SafariのDebug機能

*2020年9月20日(日)追記;Safari 14でもこの機能は有効のようです。

この方法は、Safariの隠し機能「Debug」を利用します。

通常は非表示のSafariのDebugメニューに、「タブを開く動作を制御するオプション」が含まれていることを最初に指摘されていたのがTJ Luomaさんでした。

SafariのDebugを利用するには、ターミナルを使う必要があります。

その場合、セキュリティとプライバシーのフルディスクアクセスにターミナルがアクセスできないと上手くいかないようです。

方法

(以下で紹介している全ての画像はクリックで拡大可能です。)

システム環境設定で、セキュリティとプライバシーのフルディスクアクセスにターミナルを追加し、チェックを入れる。

(セキュリティ的には若干弱くなるので一応注意してください。ただし、ターミナルのフルディスクアクセスは全ての設定を終えれば、チェックを外しても問題ないようです。)

ターミナルで以下のコードをコピペして実行。

defaults write com.apple.Safari IncludeInternalDebugMenu 1

Safariを再起動します。

SafariのメニューバーにDebugが表示されていれば成功です。

上記の画像のように、Debugをクリックすると、一番下の方にTab OrderingとTab Featuresが表示されているはずです。

これが私の夢を叶えてくれる隠し機能になります。

このAfter Current Tabにチェックを入れると、現在開いているタブの右隣に新しいタブが開かれます。

After Related Tabsは、関連したタブの右隣に開かれます。

After Last Related Tabsは、関連タブが複数ある場合、その一番(右側にある)最後のタブの右隣に新しいタブが開かれます。

After Last Tabはシンプルに一番右に新しいタブが開かれます。

元ネタのSix Colorsさんが言及されているように、この機能がいつまで続くのかはAppleの中の人以外はわかりません。。(普通に実装されるといいですね。)

ただし、新規タブ作成時の動作は結構不安定です。

CommandとTで新規タブを作成すると、現在開いていタブの右側に位置するときもあれば、最後(一番右側)に開かれるときもある感じです。

なので私は、新規タブ作成のAppleScriptを作ってそれをショートカットキーにしています。

以下にその方法を紹介します。

Safari:現在開いているタブの右隣に新規タブを作成するキーボードショートカット

Automator.appを起動させます。

Automator.appはアプリケーションフォルダ内にあります(/Applications/Automator.app)。

クイックコマンドをクリックで作成。

AppleScripを実行をクリック。

AppleScriptを実行の白枠内の文字列を削除。

空になった白枠に指定したコード(文字列)をコピペします(文字列はこの画像の次に記載しておきます)。

tell application "Safari"
	tell front window
		set _old_tab to current tab
		set _new_tab to make new tab at after _old_tab
		set current tab to _new_tab
	end tell
end tell

⬇︎

CommandとSの同時押しでこのクイックコマンドを保存。

*自動的に (/Users/ユーザー名/Library/Services/)に保存されます。

次に、システム環境設定を開く。

システム環境設定の「キーボード」を開いて、左側のサービスをクリック。

右側の枠内の「一般」に先ほど作ったクイックコマンドの「Open New T」が現れているはずです。

Open New Tの右端をクリックで、自分の好みのキーボードショートカットが指定できます。

ただし、すでに使われているキーボードショートカットを指定すると機能しないので注意してください。

私の場合は、Bettertouchtoolでキーボードショートカットをトラックパットジェスチャに紐付けしているので、ちょっと複数なキーボードショートカットにしています。

これで、キーボードショートカットを使って、新規のタブを現在開いているタブのすぐ右に作成することができるようになるはずです。

Bettertouchtoolを持っている方は、そのショートカットキーをトラックパットジェスチャに割り当てるとより便利になるでしょう。