Firefoxのコンテナータブの順番を変えよう!

Firefoxにはコンテナーという機能があり、Firefoxの中を論理的に分けることができます。

これにより、タブ毎にCookieの扱いを独立させることができるため、一つのFirefoxで仕事用、プライベート用といった複数のGoogleアカウントにログインしたりすることができます。また、サイトを跨ったユーザのトラッキングを防止する効果もありセキュリティ向上も見込めます。

コンテナータブは以下のように、Firefoxの設定で自由に追加・修正できるのですが、このコンテナ数が増えてくると順番を入れ替えたくなってきました。

Firefox Multi-Account Containers という拡張機能を使えば、この拡張機能内では自由にコンテナの順番が変えられるので重宝していました。

拡張機能の設定画面例

順番の変更はあくまで拡張機能内だけ有効で、上のFirefoxの設定から見えるコンテナータブの順番まで変更されず、タブ追加ボタン「+」を押すとバラバラの順番でコンテナ一覧が表示され目的のコンテナを探すのに一苦労してました。

そこで、コンテナの順番を手動でカスタマイズする方法を紹介します。前提とする環境はWindows 10 + Firefox 101.0.1 です。

本手順は最悪Firefoxの設定を壊す可能がありますので、バックアップを取るなど、自己責任でお願いします。

まずは、Firefoxを必ず終了し、Firefoxのプロファイルのフォルダを開いてください。プロファイルのフォルダは、デフォルトでは、C:\Users\ユーザ名\AppData\Roaming\Mozilla\Firefox\Profiles\ランダム文字列.default といったパスにあると思います。

このフォルダの下にcontainers.jsonというファイルがあります。これが設定ファイルなので、適当にバックアップをとっておいてください。

このファイルを開くと以下のように、JSONフォーマットでコンテナタブの設定が書かれています。

{"version":4,"lastUserContextId":3,"identities":[{"userContextId":1,"public":true,"icon":"chill","color":"blue","telemetryId":1,"name":"サーフィン" ・・以下略・・

このままだと見にくいので、整形すると以下のようになります。赤、青、緑の色をつけた部分が一つのコンテナタブの設定になっており、この順番が表示順となっています。

ちなみに私はjqコマンドで整形しましたが、面倒なら、JSONを整形できるWebサービスを使って整形するのが簡単です。

{
   "version":4,
   "lastUserContextId":3,
   "identities":[
      {
         "userContextId":1,
         "public":true,
         "icon":"chill",
         "color":"blue",
         "telemetryId":1,
         "name":"サーフィン"
      },
      {
         "userContextId":2,
         "public":true,
         "icon":"circle",
         "color":"purple",
         "name":"仕事"
      },
      {
         "userContextId":3,
         "public":true,
         "icon":"circle",
         "color":"purple",
         "name":"Amazon"
      }
   ]
}

ここまで理解すれば後は簡単です。各コンテナのタブの設定をコピペして順番を入れ替えましょう。例えば、仕事とAmazonを入れ替えると以下の通りです。JSONなので配列の途中はカンマ(,)を入れ、最後はカンマ(,)を削除することに注意してください。また、userContetId等の値を変更するのはNGです。

{
   "version":4,
   "lastUserContextId":3,
   "identities":[
      {
         "userContextId":1,
         "public":true,
         "icon":"chill",
         "color":"blue",
         "telemetryId":1,
         "name":"サーフィン"
      },
      {
         "userContextId":3,
         "public":true,
         "icon":"circle",
         "color":"purple",
         "name":"Amazon"
      },
      {
         "userContextId":2,
         "public":true,
         "icon":"circle",
         "color":"purple",
         "name":"仕事"
      } 
   ]
}

後は、この設定を元のcontainer.jsonに上書きすれば設定は完了です。ちなみに上書きする時に元の未整形のJSONに戻す必要はありません。

タイトルとURLをコピーしました