[Fx57] Firefox Quantum

弊社メインブラウザー Mozilla Firefox が「Firefox Quantum」ことバージョン 57 にアップデート。

Mac、PC、Linux 向け新高速ブラウザー | Firefox

このアップデートで大きく仕様が変更され、Firefox を使い続ける動機であった多様な機能拡張の“ほとんど”が使えなくなりました。FireGestures も Search Box Sync も SearchWP も Add to Search Bar も DOM Inspector も。わしこのほか 10 個アドオン入れてましたが使えたのは 2 個。
さらに機能拡張から UI への干渉が NG となったようで、Stylish で実現していた UI 微調整が強制初期化。ブックマークメニューやコンテキストメニューにいらん項目があるわ、ステータスバーは見にくいわ、ページ内検索バーを上に持って行けないわ。ああもう。あああぁあぁもおおおおぉおおぉ。

もうずっと前からそうなるよとは言われてたらしいですがそんな Firefox 情報追ってなかったしねー。自動更新 off にするとか、本来企業用のサポート延長版にするとか、Pale Moon に乗り換えるとか手はあったんだけど。

特にマウスジェスチャー機能を提供してくれてた FireGestures が使えなくなったのがキツかった。ジェスチャー機能自体は既に新仕様対応版のものがいくつかリリースされてますが、わしユーザースクリプトを多数入れて色々やってたので。たとえばいま開いてるページのタイトルと URI を <a> タグで囲んでクリップボードに入れる。← これがあるとないとではブログ執筆時間に大きな差が! とりあえずユーザースクリプトが使える Foxy Gestures に乗り換え。

Firefox 57(Quantum)で動かなくなった「FireGestures」の代替に選ばれたのは、「Foxy Gestures」と往年の名ソフトでした。 | texst.net

こちらのページを参考にカスタマイズ。Ctrl 押してると URI だけ。

var ctrl = mouseDown.ctrlKey,
promise = executeInBackground((ctrl) => {
  return getActiveTab(tab => {
    if(ctrl){
      return tab.url;
    }else{
      return '<a href="' + tab.url + '">' + tab.title + '</a>';
    }
  });
}, [ ctrl ]);

promise.then(str => {
    var textarea = document.createElement("textarea");
    document.body.appendChild(textarea);
    textarea.value = str;
    textarea.select();
    textarea.focus();
    document.execCommand("copy");
    textarea.parentNode.removeChild(textarea);
});

よく判らないけど ―― 裏の見えないところにテキストエリア作って get した文字列を出力してそれを選択してコピーして見えないテキストエリアを消してるんですね。
これだけでもずいぶん楽になります。ありがたく使わせて戴きます。

検索フォームから検索バーに登録してくれる Add to Search Bar については、自作検索プラグインを XML で作りそれをプロファイルの searchplugin フォルダに入れておけば Firefox が自動的に search.json.mozlz4 にマージしてくれるとのことでそのように。
ここに弊社ブログとかエオルゼアデーターベースを追加しております。

UI の調整に絶対必要な DOM インスペクター。

Firefox57 で DOM インスペクタ(ブラウザツールボックス)を使う方法

こちらを参考にして使えるように。いちいちアラートが出てうざったい。

その UI 。機能拡張からの変更が NG になっただけで、userChrome.css / userContent.css を使うヤリカタはまだ有効とのこと。何年かぶりに chrome フォルダ作って Stylish で書いてた CSS を全移行。

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
.statuspanel-label {
background: -moz-linear-gradient(slategray, #355) !important;
border: none !important;
color: #FFFFFF !important;
}

たとえばこんなん。ステータスバーが見やすくなります。
元々配布されてたやつを調整しただけですが。

唯一ロケーションバーや検索バーのプレースホルダー(空欄時に表示される文字列)の italic をキャンセルできず。いくら探しても判らない。どう指定すれば良いのか。

結局これの対応で 1 日潰れました。
体調悪いっていうのに。