VivaldiのリンクをFirefoxで開くようにする

X (旧Twitter) ビューワとしてVivaldiを使い始めた

  • 皆さんご存知、X(旧Twitter)のTweetDeckがお亡くなりになり、X Proに置き換わり、Blue限定機能になってしまった。
  • VivaldiのタブタイリングでTweetDeckに見た目を近付けたXビューワにできる。1

    課題

  • Xの表示はVivaldiで行うが、タイムラインから外部リンクを開くときはいつものブラウザ (Firefox) で開きたい。
  • 外部リンクを開くごとにコンテキストメニューからリンクをコピー、Firefoxのアドレスバーに貼り付け……はさすがにやってられない。
  • 外部リンクをクリックしたらFirefoxで開くようにできないか?

    解決方法

    PageExpandとプロトコルハンドラを組み合わせて解決する。

    PageExpandのインストール

    役割

    すべてのハイパーリンクの頭に ffx: を付加する (例: ffx:https://google.com)

    手順

  • VivaldiにPageExpand (拡張機能)をインストールする。
    • VivaldiはChromiumベースなのでChromeの拡張機能をインストールできる。
    • PageExpandは非常に高機能な拡張機能なため、不要な機能はインストール後に拡張機能の設定画面から無効にしておく。
  • アンカー置換定義 に定義を新規で追加し、コールバックスクリプトを以下の通り設定する。
[
    function(info, response){
        var anchor_element = info.anchor_element;
        if(!(anchor_element.href.match("ffx:"))){
            anchor_element.href = "ffx:" + anchor_element.href;
        }
        return false;
    },
    function(info, response){
        response({});
        return true;
    }
]
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\ffx]
"URL Protocol"=""
[HKEY_CLASSES_ROOT\ffx\shell]
[HKEY_CLASSES_ROOT\ffx\shell\open]
[HKEY_CLASSES_ROOT\ffx\shell\open\command]
@="powershell.exe -noprofile -command \"&{$x=('%1' -replace 'ffx:','') ; start-process 'C:\\Program Files\\Mozilla Firefox\\firefox.exe ' -argumentList $x}\""

動作イメージ

左: Vivaldi / 右: Firefox