MacのFinderではMevericksからタブ機能がつきました。
ですが初期設定のままだとDock等からフォルダを開くと新しいウィンドウが立ち上がってしまって なかなかタブ機能を使いこなせません。
そこで新しく開くフォルダを常にタブで開く設定にします。
Finderの環境設定にあるタブで開く設定
Finderの環境設定には一般の項目に フォルダを新規ウインドウではなくタブで開くという設定項目があります。
これにチェックするとFinder上で右クリックすると出て来る一番上の項目が 新規ウインドウで開くから新規タブで開くに変わります。 (この項目はオプションキー⌥を押しながら右クリックしても入れ替わります。)
またコマンドキー⌘を押しながらフォルダをダブルクリックして開く際、 新しいウインドウを作る代わりに新しいタブで開く様になります。
ただしこの設定をしてもDockからフォルダを開いたりすると 新しいウインドウが開いてしまいます。
Dockの設定
Macのシステム過環境設定の中にあるDockの設定項目に行くと、 書類を開く時はタブで開くと言う設定項目があります。
デフォルトではフルスクリーン時のみになっていますが、 これを常にに変更します。
するとDockからフォルダを開こうとすると常に立ち上がっているFinderがあれば そこに新規タブとして追加されます。
さらにこの設定をしておくとSpotlightから検索してフォルダを開く場合も 新規タブとして開かれる様になります。
この機能はSierraから追加された様です。
Finderのメニューのファイルに新規Finderウインドウという項目があるのですが、 ショートカットは元々⌘Nです。 これがこの設定をするとopt⌘N に代わり、⌘Nを押した時には新規タブが出来る様になります。
さらにこれはDockの設定ですがSpotlightから開く場合にも適用されます。
また、Dropboxのアプリからフォルダを立ち上げる様な場合も 新規タブで開かれる様になります。
どうもDockの設定項目として追加されていますが OS全体でのFinderの仕様への影響があるようです。 (Finderの環境設定に入れるべきだと思うのですが。。。)
openコマンドで新しいタブで開く
Macnにはターミナルコマンドにopen
というものがあり、
引数として与えた物の種類によって適当なアプリでそれを開いてくれます。
ディレクトリ名を指定するとFinderでそのディレクトリを開いてくれます。
$ open ~/Downloads
とか。
この際もデフォルトでは新規ウインドウを立ち上げて新しいフォルダを表示します。
これも上記のDockの設定を行うと新しいタブで開く様になってくれます。
なんですが、ちょっとopen
では上手く新規タブで開いてくれないと勘違いして
(どうもDockでの設定がすぐに反映されないときがある。。。?)、
open
コマンドのラッパースクリプトを作って新規タブで開ける様なものを作ってしまいました。。。
せっかく作ったのでそのままGitHubにおいておきます。
AppleScriptを使ってFinderの全ウインドウの全タブの開いてるパスをチェックして、 同じパスがあればそれを全面に、無ければ 既にあるウインドウ上(なければ新しくウインドウを作って)その新しいタブに指定のパスを開きます。
ちょっと面倒だったのがFinderのタブの情報を取ってくる所。 取り敢えず素直に取ってくることが出来ず、 最初にみつけたのが以下の方法。
上の解答の中のUPDATEで出てくる gist にタブの情報を取ってくる例があります。
ただ、そのまま試してみた所、現在(macOS Sierra)では上手く行かず、
コメントにあるようにentire contents
を書き出して調べてみると
window
から直接radio button
を取ってくるのではなく
もうひとつtab group
を介して取ってくる必要がありました。
そんな感じで取り敢えずAppleScriptの例として。。。