見出し画像

次世代のFirefox: Floorp導入日記

本記事で述べること:

  • Floorpの導入により実現したかったことの説明

  • Floorp導入時に感じた悩み

    • 解決したものは解決方法

本記事が目的としないこと:

  • Floorpって何?という人向けの説明

    • (公式など他のサイトを見る方が100倍有益なため)

レガシーアドオン時代はこんな感じで使っていた(Waterfox Classicのスクリーンショット)


今回実現したのはこんな感じ。キャプチャの少し後に最上部のバーを簡単に消せる事に気づいた。

現行の火狐の何が不満だったのか

筆者がレガシーアドオン時代の火狐で重宝しており、WE時代の火狐や他ブラウザでは同等の再現が難しいアドオンは以下3つ。

上2つに関しては、「現行の火狐でも頑張ればレガシーアドオンを動かせる」という素人には正直よく分からない仕組みがあり、大変ありがたい有志の厚意によって現時点では継続して使用できている。

ただし、Firegesturesに関しては、

  • 環境によっては今ひとつ完全には機能していないジェスチャがあり、おま環かな~と思いつつも原因の切り分けができていない

  • 重要度が高すぎるため、明らかに火狐本体が推奨してない手法での実装に依存し続けるのはハイリスク

という問題があって、可能なら何らかの別の手段で代替したいと考えていた。

chaikaについては元々がニッチなアドオンなので、この有志による維持がなされなかったら完全に諦める他ない。求めている機能を代替できる手段は他に全くない。chaikaと類似品の比較については多少は公益性がありそうなので別記事でまとめる。

ツリー型タブについては、作者のPiro様が早い段階でWE版をリリースしてくださっており、かつそのサブアドオンとしてTST Bookmarks Subpanelがある。

これによりある程度はなんとかなっていたが、これのサブアドオンは、Piro様による「Unified Sidebarを完全に再現したものはWEでは実装できない」との宣告でもある。(アドオンの説明にWEの制約上のあれこれが書いてある)

筆者はFoxAge2chやSageを縦タブバーの下に表示することに慣れてしまっており、それを実現できないことに不満を感じてもいた。

結果どうなったか

Firegesturesの代替


解決しそうだったが解決していない。Gesturefy(Floorp仕様カスタム)では意図した挙動ができそうでできない箇所があったので、結局Firegesturesを使っている。ただ、環境によっては その挙動を必要としないので、その環境ではGesturefyが十分実用に足る。

なお、MacではGesturefy側に改善の見込みのないバグがある都合上、Macで使う時にはホイールジェスチャ専用のアドオンを入れた混合で行くかなぁ……と考えている。

その場合はこのレガシーアドオン/スクリプト利用支援機能(非推奨)を使うのも良さそう。至れり尽くせりで凄い。設定の時に見つけて、「こんな機能まであるのか、なんて親切な……」と驚いた。未だにuserchrome.jsを使用しているようなマニアに対しての訴求力はありそうなので、多少宣伝してみても良いのではないだろうか。

Unified Sidebarの代替


これをある程度実現できたのが今回嬉しいポイント。Floorp独自機能であるブラウザーマネージャーサイドバー(以下BMS)を利用して、

  • ツリー型タブをBMSを使ってブラウザー右側で常時表示

  • ブックマークはSubpanelを使ってブラウザ右下に常時表示

  • FoxAge2ch, Sage-Likeを、左側に置いた火狐本来のサイドバーで表示

  • それらをFiregesturesのマウスジェスチャで開閉

とすることで、レガシーアドオン時代に行っていた挙動にそれなりに近い状態が実現できている。理想と完全にイコールではないが、「サイドバーで何かを開いたらツリー型タブが表示されなくなる」という現行火狐での最大の不満点を解消することはできた。

悩みなど

自己解決したものも含めて列挙する。

  1. 【一応解決】Floorp標準実装の縦のタブバーは、タブバー上でのホイールスクロールに対応してない気が最初した

  2. 【完全解決】BMSで右側にツリー型タブを表示すると、ツリー的に表示されない気が最初した

  3. Gesturefy-Floorpカスタムは、レガシーアドオンをジェスチャで呼び出せない気がする

  4. GesturefyはMacではホイールジェスチャにバグを抱えており、長年そのままなのでおそらく解決しない

  5. BMSをツリー型タブ以外に使う気が殆どないため、BMSのバー自体は非表示にしたいが簡単ではなさそう

  6. BMSでレガシーアドオンを扱いたい

  7. 【願望】 できればサイドバーの下側半分がBMSになったらなって……

1. タブバー上のスクロール

こう感じた理由は明確で、イメージしたものと挙動が違ったから。

Floorp本体にもタブバー上のホイールでの操作はあるが挙動が違う

上のような表示状態で、タブがない下の空白部分でホイール操作すると反応するのがツリー型タブのサブアドオンであるTree Style Tab Mouse Wheelの挙動。空白部分では反応せず、タブがある場所でホイール操作した場合のみタブを移動できるのがFloorpの標準機能。(2周間前位にいじった時の記憶なので今日時点の最新版では異なる可能性はある)

ユーザーが何を目的としてホイール操作するかと考えた時、このサブアドオン型の挙動の方が自然だと思うので、陳情すればそのうち調整されるのではないかと考えている。

2. BMS上のツリー型タブ

これはツリー型タブ側の設定を筆者が勘違いしていたため。

表示領域を広げるとツリー構造が見える
右に置く場合でも設定は左側用が無難

見た目上、アドオン標準設定の「サイドバーが表示された時に自動で判定」で上手く行かず、右側用に設定しても上手く行かなかったので、「多分BMSでは再現されないのだろう、まぁツリーの機能は活きてそうだな」と早合点したが、「左側用」を選択することでイメージしているものと一致した表示になった。

「右側用」を選ぶと、右表示のサイドバーの表示領域が狭い場合は上のキャプションの状態になってしまってツリー要素がよく分からない。表示領域を横に十分に広げると分かるようになり、ああこういう挙動だったのかと分かった。ただし、タブに表示される文字数が非常に少ないタブの場合、「右側用」だと、一応はインデントはしているものの体感的には全く分からないケースもあるので、右側にTSTを置く場合でも左側用のレイアウトを選んだ方が良いように思う。これはFloorpというよりTST側の問題かも。

3.Gesturefyとレガシーアドオン

設定は可能なように思うが、実際にジェスチャを呼び出すと機能しない。機能したのがSage-Likeとツリー型タブ、しなかったのがchaikaとFoxAge2ch。原因はどう見ても後者2つがレガシーアドオンであることだろう。

4. MacでのGesturefy

ちいさ~い文字で「Macではホイールジェスチャ動かないよ」と書いてある。

Sierraっていつのバージョン?と調べると2016年だった。つまり解決の見込みはないという意味だろう。技術的にどうなのかは素人なので分からないが、Mac×火狐×Gesturefy×ホイールジェスチャユーザーという4点を満たす人しか困らないので、たまたま筆者がそこに該当してしまうことになったからと言って文句を言えるかというと……

ただまぁ、Floorpによって初めてGesturefyを使おうと思い、それなりの時間を「これでダメな理由が分からん、設定の何が間違っているんだ……」との試行錯誤に浪費してしまったことについての恨み言はアドオンレビューで述べておいた。使えないなら使えないで構わないのだが、「お前が何をいじろうが時間の無駄」ということに気づく手段が、アドオンのページの小さい注意書きを読む以外にないのは勘弁してくれ。機能自体を塞いで欲しい。

5. BMSのバー自体の非表示

多分CSSをいじればいけるんじゃないかと思う。そのうち気が向いたら試すかも。BMSの他の機能もたまには使うかもしれないので筆者としては優先度は低い。

6. BMSでレガシーアドオンを扱いたい

サイドバーとBMSは完全にイコールではなく、レガシーアドオンをBMSに表示することはぱっと見できない。これと3. が解決すれば、TSTをサイドバーで常時表示し、他をBMSで運用することができる。

7. サイドバーの下側半分がBMSになったらいいなぁ

これができればUnified Sidebarの完全再現と言っても過言ではない。Unified Sidebarは本当に合理的で素晴らしいUIだと思うので、これまでも何度か類似品を調べたことがあるが見つかっていない。流石に縦の表示領域全てをタブが埋め尽くしたりは普通しないし。そんなに開く人なら絶対ツリー型タブを使っているはずなのでツリーに折りたたまれるはずで、結局タブバーの下半分はデッドスペースになりがち。本体をあれこれいじるのに熱心なVivaldiでも多分無理。


この記事が気に入ったらサポートをしてみませんか?