Palm84 某所の日記

死のうは一定、しのびクマには何しよぞ...

【Firefox65/79】タブをホイールで切替のいろいろ

f:id:palm84:20190206191922p:plainf:id:palm84:20190206191925p:plain

ほい、方法は2通り&右クリック+ホイールで+2通りかな。ま、私が知ってる限りでですけども... (´・ω・`)

INDEX

about

えーと、あくまで 2019.2.6 現在にて Firefox 65.0 での確認です。

タブバー上でのホイールころころ(※ 右クリック+ はバー上ではなくページ内)でのタブ切替機能を独断と偏見で比較したのです。

はいはーい

630名無しさん@お腹いっぱい。 (ワッチョイ e576-uJAn)2019/01/26(土) 08:14:14.43ID:BdjXor4T0>>631>>632 タブが複数ある時に マウスのホイールをコロコロってするだけでタブを選択できる拡張を教えてください 631名無しさん@お腹いっぱい。 (ワッチョイ 4173-aRjX)2019/01/26(土) 10:30:58.56ID:GhADpZB20>>633 >>630 右クリック押しながらホイールでいいならfoxygesturesとかで出来る ホイールだけでやりたいならautohotkey等の外部ソフトが必要 632名無しさん@お腹いっぱい。 (ワッチョイ c276-DUbI)2019/01/26(土) 10:37:06.27ID:8AKsc/qN0>>633 >>630 アドオンじゃないけどタブ上ホイールコロコロ Aboutページなどでも停止せず動作する TabWheelScroll.uc.js https://u6.getuploader.com/script/download/1583

Mozilla Firefox 拡張機能スレッド Part115

634名無しさん@お腹いっぱい。 (ワッチョイ 794a-UldQ)2019/01/26(土) 11:43:38.93ID:6FZc2bEI0>>635 Firefox65で、toolkit.tabbox.switchByScrollingをtrueにすると可能 ただしタブの数が多いときは通常のスクロールの動作になる

Mozilla Firefox 拡張機能スレッド Part115

まぁ、おおまか・てきとーに言うとですね…

  • 内蔵機能は安心・制限なしだが、overflow(タブがバーの幅に収まらない)時の挙動がいまいち
  • (右クリック+ )拡張機能は制限がある
  • userChrome.js が最も便利だが、Firefox更新の度に使えなくなったりするのでスクリプトの更新確認も必須

てな、かんじですかな。

toolkit.tabbox.switchByScrolling

Firefoxの内蔵機能、隠し設定?みたいなのです。

  • Firefox内蔵(オプション等)タブ、Mozilla公式サイト等もスクロール可能
  • リロード中ok
  • 但し、デフォルトの1段タブではタブの overflow(タブがバーの幅に収まらない)時はタブバー自体がスクロール
  • 循環だめ - 最終or先頭タブで止まる、最終タブから先頭タブ、先頭タブから最終タブへは飛べない

about:config にて下記を設定

  • toolkit.tabbox.switchByScrolling - true

user.js なら

user_pref("toolkit.tabbox.switchByScrolling", true);

【userChrome.js】TabWheelScroll.uc.js【2020.8.14 修正】

【2019.9.6追記】Firefox69では...

下記(3行目)を修正すれば動くはずです。

  if (location != 'chrome://browser/content/browser.xul')
  if (location != 'chrome://browser/content/browser.xhtml')
  • Firefox内蔵(オプション等)タブ、Mozilla公式サイト等もスクロール可能
  • リロード中ok
  • デフォルトの1段タブ、タブの overflow(タブがバーの幅に収まらない)時もok
  • 循環ok
【2020.8.14追記】Firefox79(80 beta)では(多段タブ.zip 未使用時)

タブのオーバーフロー時(タブがバーに収まらない時)の挙動が少し変ですね。循環時にアクティブタブが隠れてしまったりします。というわけで下記の5ちゃんねる情報に従い修正。

f:id:palm84:20200814075408p:plain

566名無しさん@お腹いっぱい。 (ワッチョイ 9102-W4a1)2020/08/05(水) 23:54:32.40ID:XsUEP3690 Firefox でマウスホイールでのタブ移動するのにずっと TabWheelScroll.uc.js を使ってたんだけど、Firefox を 79 に アップデートしたらなんだか動作がおかしくなった。 タブが全部タブバー上に収まってるうちは問題ないんだけど、タブの数が増えてタブバーからオーバーフローしてる 状態になると、タブバー上でホイール操作したときにタブバーの表示が大きくスクロールして選択されたタブが表示 範囲外に出てしまうことがよくある(タブ数が多いとほぼ二回に一回)。 元々のタブバーのホイールスクロール機能と動作が重なる為か、Firefox の 78 以前でもタブバーの表示が左右に フラフラ動いてはいたけど、選択したタブは表示範囲内に留まってた。どうも 79 になって元々のスクロール機能の スクロール幅が 78 以前よりも大きくなってる(というか大き過ぎる)のが原因の様な。 どうにか 78 以前での動作に戻せないだろうか? 567名無しさん@お腹いっぱい。 (ワッチョイ 53da-ULlP)2020/08/06(木) 12:03:09.26ID:ViEQ9DOT0>>568 ucjsでやらずにtoolkit.tabbox.switchByScrolling=trueでいいのでは? どうしてもucjsでやりたいならstopPropagationして標準のホイールスクロールを殺せばいいのでは? 568名無しさん@お腹いっぱい。 (ワッチョイ 9102-W4a1)2020/08/06(木) 12:33:46.33ID:AdZF7yIz0 >>567 アドバイスありがとう。 ハンドラ内に event.stopPropagation(); の一行を追加したら左右の揺れがなくなって選択されたタブが表示範囲に留まるようになった。 about:config の toolkit.tabbox.switchByScrolling だと循環してくれないのが不便なので。

Firefox userChrome.js greasemonkeyスクリプトスレ41

最善かは自信ないですけど、下から3行目に挿入してみましたよ。

//https://www.camp-firefox.de/forum/viewtopic.php?t=121503
(function() {
  if (location != 'chrome://browser/content/browser.xhtml')
    return;
  const scrollRight = true;
  const wrap = true;
  gBrowser.tabContainer.addEventListener("wheel", function(event) {
    let dir = (scrollRight ? 1 : -1) * Math.sign(event.deltaY);
    setTimeout(function() {
      gBrowser.tabContainer.advanceSelectedTab(dir, wrap);
    }, 0);
    event.stopPropagation();
  }, true);
})();

【拡張機能】マウスジェスチャーなど(右クリック+)

拡張機能のマウスジェスチャーにてページ内(コンテンツ上?)で右クリック+ホイールでの操作、上記2点(のいずれか)と併用可能です。

「ホイールジェスチャー」を有効化、上スクロールを「左のタブへ移動」、下スクロール「右のタブへ移動」に割り当て。

  • Firefox内蔵(オプション等)タブ、Mozilla公式サイト等はだめ、止まってしまう
  • リロード中は不安定?
  • デフォルトの1段タブ、タブの overflow(タブがバーの幅に収まらない)時もok
  • 循環ok

下記はリロード中でも不安定ながら一応使えました。それ以外は同じ状態。

「ホイールジェスチャー」をOn、「ホイールジェスチャーに使用するボタン」は右、ホイールの上回転を「左のタブにフォーカス」、ホイールの下回転「右のタブにフォーカス」に割り当て。

【userChrome.js】MouseGestures2_e10s.uc.js(右クリック+)

userChrome.js版マウスジェスチャーにてページ内(コンテンツ上?)で右クリック+ホイールでの操作、1,2番目(のいずれか)と併用可能です。

  • Firefox内蔵(オプション等)タブ、Mozilla公式サイト等もスクロール可能
  • リロード中ok
  • 循環ok
  • デフォルトの1段タブ、タブの overflow(タブがバーの幅に収まらない)時もok

デフォルトで右クリック+ホイール (= WheelGestures)、左右両クリック (= RockerGestures) 有効

54:	enableWheelGestures: true,  // Wheel Gestures (Scroll wheel with holding right-click)
55:	enableRockerGestures: true, // Rocker Gestures (Left-click with holding right-click and vice versa)

右クリック+ホイールは下記を編集

156:	['W-', '前のタブ', function(){ gBrowser.tabContainer.advanceSelectedTab(-1, true); } ],
157:	['W+', '次のタブ', function(){ gBrowser.tabContainer.advanceSelectedTab(+1, true); } ],

いろいろ

多段タブ.zip 使用時

多段タブだと上記overflow時の問題がないので内蔵機能でもいいかもしれない(※ 循環はだめ)。

  • toolkit.tabbox.switchByScrolling - 循環だめ、上下スクロールバーも動くので上下が一時隠れる
  • TabWheelScroll.uc.js - 循環ok、上下スクロールバーも動くので上下が一時隠れる
  • Foxy Gestures - 循環ok、バー上下は動かない(上下が一時隠れる)
  • MouseGestures2_e10s.uc.js - 循環ok、バー上下は動かない(上下が一時隠れる)

結局どれがええのん?なかんじで 。゚(゚´Д`゚)゚。 ほなでした。