WebDesigner's Memorandumウェブデザイナーの備忘録

リンクを開くときにブラウザやプロファイルを選択して開けるようになる「OpenIn」

当たり前の話ですが、リンクをクリックすると「既定のブラウザ」に設定しているブラウザでリンクが開きます。

基本的にはそれで問題ないのですが、プロファイルを複数使い分けていたり、用途に応じてブラウザを使い分けている場合、意図していないブラウザやプロファイルで開かれると面倒です。

そこで活用したいのが「OpenIn(オープンイン)」です。
リンクを開く瞬間に「どのアプリで開くか」を差し込めるリンクハンドラで、ブラウザだけでなくメールリンクや電話リンク、ファイルの開き先までまとめてコントロールできます。

今回はそんなOpenInについて紹介します。

OpenIn

OpenInは、Loshadki LLCが開発しているmacOS用のリンクハンドラです。
URL・メールリンク(mailto)・電話リンク(tel)・ファイルを開くときに、どのブラウザ・アプリで開くかを選択して開いてくれます。

仕組みはシンプルで、OpenIn自体を「デフォルトのブラウザ」としてmacOSに登録します。

そうすることで、リンクを開く操作がすべてOpenInを経由するようになり、そこからルールに従って目的のアプリへ振り分けたり、その場でアプリを選んだりできるようになります。

購入方法

購入方法は3つあり、それぞれ料金と制限に違いがあります。
主な違いをまとめると下記の通りです。

入手方法料金特徴
Mac App Store¥2,000の買い切りサンドボックスあり。一部機能で「OpenIn Helper」が必要
公式サイトから直接購入$11.99の買い切りサンドボックスなしで全機能が使える(無料トライアルが可能)
Setappサンドボックスなしで全機能が使える

有料アプリが使い放題になるサブスクサービスのSetappにも登録されています。

注意点として、ライセンスは入手方法をまたいで移行できません(Mac App Storeで買ったものをあとからSetapp版に引き継ぐ、といったことはできない)。
そのため、最初にどこで購入するかを決めておいた方が良さそうです。

私の場合はSetappに加入しているので、追加費用なしで使えました。

類似ツールとの比較

リンクの振り分けを行うツールはOpenInだけではありません。
主なものをまとめると下記の通りです。

項目OpenInVeljaChoosyFinicky
料金$11.99(買い切り)$8(買い切り)$10(買い切り)無料(オープンソース)
入手方法Mac App Store / 公式サイト / SetappMac App Storeのみ公式サイト / HomebrewGitHub / Homebrew
設定方法GUIGUIGUI設定ファイル(JavaScript / TypeScript)
アプリ選択ウィンドウありありありなし(ルールによる自動振り分けのみ)
扱えるリンクの種類URL / mailto / tel / ファイルURL中心URL中心URL

mailtoやtel、ファイルの開き先までまとめて管理できるのはOpenInです。Choosyは$10(約1,500円)の買い切りで、ターミナルやAppleScriptから叩けるURL形式のAPIを持っているのが特徴です。

設定をコードで管理したい人にはFinickyという選択肢もあります。
MITライセンスのオープンソースで、~/.finicky.jsにJavaScriptまたはTypeScriptでルールを書く形式です。

基本的な使い方

OpenInを使うには、まずOpenInをデフォルトのブラウザに設定します。
アプリを起動して案内に従い、macOSの設定でデフォルトのWebブラウザをOpenInに変更します。

これでブラウザ以外のアプリからリンクを開く操作が、OpenInを経由するようになります。

設定が終わったら、適当なリンクをクリックしてみます。
するとアプリ選択ウインドウが表示され、インストール済みのブラウザやアプリが一覧で並びます。

あとは開きたいブラウザ・プロファイルを選ぶだけです。
毎回マウスで選ぶのは面倒なので、各項目の右側に表示されている数字キーを押して開くこともできます。

もちろん、この一覧に表示されるブラウザやプロファイルを設定したり、開くたびに選ぶのではなく「このドメインは必ずこのブラウザ」といったルールを決めて自動で振り分けることもできます。

ブラウザ拡張機能の活用

1点注意しないといけないのが、ブラウザの中で踏んだリンクはOpenInを経由しないという点です。

OpenInが呼ばれるのは、あくまで「他のアプリからブラウザが開かれるとき」です。
Google Chromeで開いているウェブページ内のリンクをクリックしても、そのままGoogle Chromeの中で開きます。

しかし、現在開いているのとは別のブラウザでリンクを開きたい場合があります。

そこで用意されているのがブラウザ拡張機能です。
Safari用は本体に内蔵されていて、Google Chrome用Firefox用はそれぞれのストアで配布されています。

拡張機能を入れると、リンクの右クリックメニューから[OpenInに送る(Open in OpenIn)]ができるようになります。

ブラウザ間でリンクを渡したい場面に便利です。

環境設定

ここからはOpenInの環境設定をまとめます。

General

OpenIn全体の動作に関わる基本的な設定です。
主な項目は下記の通りです。

設定項目内容
Configuration
Start at loginログイン時に自動起動する
Show menu bar iconメニューバーにアイコンを表示する
Menu bar icon表示するメニューバーアイコンを選ぶ
Check if OpenIn is a default app in backgroundOpenInがデフォルトアプリのままか定期的に確認する
Store history of opened links and files開いたリンクやファイルの履歴をローカルに保存する期間
Disable tips操作のヒント表示をオフにする
App selection window
Always show the Window (even with one app)候補が1つでもアプリ選択ウインドウを表示する
Icon Sizeアプリ選択ウインドウのアイコンサイズを選択する
Reduce animationアプリ選択ウインドウのアニメーションを減らす
Developer
Enable JavaScript logsルール用JavaScriptのログを記録する

候補が1つしかないときにもウィンドウを出すかどうか(Always show the Window)は、好みが分かれそうです。私の場合は候補が1つなら確認なしで開いてほしいので、オフにしています。

Browsers

ブラウザでリンクを開くときの挙動を設定します。
Applications・Rules・Developer・Redirectsの4つのセクションに分かれています。

Applications

リンクを開く候補となるブラウザを登録する場所です。

インストール済みのブラウザを候補として追加し、アプリ選択ウィンドウに表示する順番を並び替えられます。
よく使うブラウザを上に置いておくと選びやすくなります。

ChromeやArc系のブラウザであれば、プロファイルを指定して特定のプロファイルで開いたり、プライベートウィンドウ(シークレットウィンドウ)で開く候補を別に用意したりもできます。

仕事用と個人用のプロファイルを別々の候補として並べておけるのは、ブラウザを使い分けている人には嬉しいポイントです。

Rules

リンクの条件に応じて、開くブラウザを自動で振り分ける場所です。

ルールは[+ Add condition]から追加でき、ドメイン・パス・修飾キーの有無・送信元アプリ・macOSのFocus(集中モード)などを条件にできます。

条件は上から順に評価され、最初にマッチしたルールが適用されます。

例えば「会社のドメインのリンクは仕事用プロファイルのChromeで開く」「Messagesアプリから来たリンクはSafariで開く」といった振り分けが可能です。

よく開くリンクほどルール化しておくと、アプリ選択ウィンドウを出さずにそのまま目的のブラウザで開けるのでラクになります。

Focusを条件にする場合は別途設定が必要です。
macOSは集中モードの名前をアプリ側に教えてくれないため、OpenIn側で「Focus Hint」という文字列(例えばWork)を作り、macOSの集中モードの設定で同じ文字列を指定して紐づけます。

ひと手間かかりますが、仕事モードのときだけ仕事用ブラウザを起動するといった切り替えができます。

Launchを[Selected]に切り替えて、有効にしたいブラウザにチェックを入れると、ルール適用時にはそのブラウザだけが表示されるようになります。

ちなみに、[General]の設定で[Always show the Window]のチェックを外していると、選択ブラウザが1つだけの場合は選択ウインドウが出ずにいきなりリンクが開くようになります。

Developer

ルールをJavaScriptで自作するための場所です。

ドメインやパスの指定だけでは表現しきれない複雑な条件を、JavaScriptで書いて制御できます。
書いたルールの動きはログで確認でき、[General]設定の「Enable JavaScript logs」をオンにしておくと挙動を追いやすくなります。

私自身ここまで凝ったルールは組んでいませんが、標準のルールで物足りなくなったときにさらに細かく設定できるのはありがたいです。

Redirects

リンクのURLそのものを書き換えてから開く機能です。
正規表現でURLのパターンを指定し、別のURLに置き換えられます。

例えば https://music\.apple\.com/(.*)music://music.apple.com/$1 に書き換えるルールを作れば、本来ブラウザで開かれるApple MusicのリンクをMusicアプリで直接開けます。

Apple MusicやApple TV、Zoomのように、Web版ではなくネイティブアプリで開きたいリンクをアプリ側へ送りたいときに便利です。

Schema

電話リンク(tel)や通話・会議系のリンク、メールリンク(mailto)を開くときの挙動を設定します。
Browsersと同じく、Applications・Rules・Developerのセクションに分かれています。

デフォルトだと「Call apps」と「Mail apps」だけですが、他にも[Add scheme…]から追加することもできます。

Applications

リンクを開く候補となるアプリケーションを登録します。
メールの場合、標準のメールアプリだけでなく、GmailやOutlookといったWebメールも候補にできます。

Rules

アプリケーションの振り分けルールを設定します。

メールの場合、ここでGmailなどのWebメールを指定し、URLの書き換えを有効にすると、mailtoリンクをブラウザ上のGmailの新規作成画面で開けるようになります。
デスクトップ版のメールアプリを使っていない人には便利な設定です。

Developer

Browsersと同様、JavaScriptでリンク用のルールを自作できます。
私の場合はメールはルールを細かく組むほど使っていないので、ここはほとんど触っていません。

Files

ファイルを開くアプリを、拡張子ごとに設定するセクションです。

BrowsersやSchemesと同じ考え方で、Finderでファイルを開くときに拡張子ごとに開く候補アプリを複数登録できます。
[Add file type…]で拡張子を入力するか、その拡張子のファイルをリストにドラッグすると追加できます。

追加したらURLやメール・電話リンクと同様に、その拡張子のファイルを開くときにどのアプリケーションで開くかを設定できます。

常に固定のアプリで開く場合は問題ないですが、たまに別のアプリで開きたい場合があるときはこの設定をしておくと便利です。

ただ、私の場合はAlfredを使って選択中のファイルを指定アプリで開けるようにしているので、この設定はあまり使うことがなさそうです。

Backups

設定したルールや候補アプリの構成をバックアップするセクションです。

バックアップはiCloudに保存され、設定を変更する前にバックアップを取っておけば、あとから元の状態に戻せます。
ファイルとしてエクスポート・インポートもできるので、別のMacに同じ設定を持っていきたいときにも使えます。

ルールを作り込むほど構成は複雑になっていくので、大きく変更する前にバックアップを取っておくと安心です。

About

OpenInのバージョン情報などを確認できるセクションです。

Mac App Store版を使っている場合は、ここでOpenIn Helperのアップデートを求められることがあります(ブラウザのプロファイル対応など、Helper側の更新が必要な機能を使うとき)。

まとめ

プライベート用や仕事用にプロファイルを分けていたり、状況に応じて開くブラウザを変えたい場合が多々あったので、どこで開くか選択できるようになってかなり快適になりました。

普段ブラウザを1つしか使わない人には、出番がないかもしれません。
Setappに加入している人なら追加費用なしで試せるので、まずはSetapp版で使い勝手を確かめてみるのが良さそうです。

ルールやJavaScriptまで設定をしていくと沼ですが、まず最初はデフォルトのブラウザに設定してアプリ選択ウィンドウを使うだけでも十分です。

複数のブラウザやプロファイルを活用している方は、ぜひお試しください。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね