Palm84 某所の日記

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

【Firefox65】userChrome.js でマウスジェスチャー

「マウスジェスチャーは拡張でええやん!」と思ってた時期が私にも...(ry

userChrome.js版には利点があったんだったんです。

  • Firefox内蔵(オプション等)タブ、Mozilla公式サイト等も制限なしで使える
  • リロード中も(ほぼ)おk!

あっと、userChrome.js については言わずもがなの自己責任ツールなので初めての人はご注意(ま、私でもすぐに慣れたけどねーw)

というわけで、派生版がいろいろあるようですが、ウチでは下記を使わせてもらっとります。

ファイルの内容はこんなかんじなので編集も簡単やね!

 ['L', '戻る', function(){ document.getElementById("Browser:Back").doCommand(); } ],
 ['R', '進む', function(){ document.getElementById("Browser:Forward").doCommand(); } ],
  • L<R - RockerGestures 右+左
  • L>R - RockerGestures 左+右
  • *RDL - 左クリックで文字列をドラッグ選択後に右下左
  • W- - WheelGestures上
  • W+ - WheelGestures下

ウチのはこんな風です...

 ['L', '戻る', function(){ document.getElementById("Browser:Back").doCommand(); } ],
 ['R', '進む', function(){ document.getElementById("Browser:Forward").doCommand(); } ],
 ['UD', 'リロード', function(){ document.getElementById("Browser:Reload").doCommand(); } ],
 ['UDU', 'リロード(キャッシュ無視)', function(){ document.getElementById("Browser:ReloadSkipCache").doCommand(); } ],
 ['W-', '前のタブ', function(){ gBrowser.tabContainer.advanceSelectedTab(-1, true); } ],
 ['W+', '次のタブ', function(){ gBrowser.tabContainer.advanceSelectedTab(+1, true); } ],
 ['DU', 'タブを複製',
  function(){ 
     var orgTab = gBrowser.selectedTab;
     var newTab = gBrowser.duplicateTab(orgTab);
     gBrowser.moveTabTo(newTab, orgTab._tPos + 1);
   } ],
 ['DR', 'タブを閉じる', function(){ document.getElementById("cmd_close").doCommand(); } ],
 ['RLR', '右側のタブをすべて閉じる', function(){ ucjsMouseGestures_helper.closeMultipleTabs("right"); } ],
 ['DL', '閉じたタブを元に戻す', function(){ document.getElementById("History:UndoCloseTab").doCommand(); } ],
 ['U', '上端へスクロール', function(){ goDoCommand("cmd_scrollTop"); } ],
 ['D', '下端へスクロール', function(){ goDoCommand("cmd_scrollBottom"); } ],

とか言いつつ... 拡張機能 Foxy Gestures のユーザースクリプトが便利なので、ロッカージェスチャーのみ Foxy Gestures の方を有効にしてます。(こっちのjsは enableRockerGestures を false で。)


ほなね


【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、バー上下は動かない(上下が一時隠れる)

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

【Firefox65】 userChrome.jsで多段タブ&userChrome.cssでタブバーを下にする設定

f:id:palm84:20190130072943p:plain

2019.3.4 追記

「多段タブ.zip」が進化、「タブバーを(ブックマークバーの)下にする」設定もセットになりました。

まままいどー!

例によっていつまで使えるかわからない方法なのであしからず... てなかんじです。

情報源はまいどまいどの5chスレです。お世話になります!

ご注意

ぶっちゃけややこしいんで userChrome.css, userChrome.js をわかってる人向けですのん、すみません。とか、言いつつアホな私でもできるし大して難しいわけではないのです... (´・ω・`)

いつまで使えるかわからないし、オマカーンな不具合で 。゚(゚´Д`゚)゚。 となることもあるので、その際はご容赦くだされたし。

これ以外に今まで使ってたCSS記述などは削除しといて。

関連めも

では、まず既にやってるかもですが、userChrome.css に下記を記述

/* userChrome.js 対応 */
toolbarbutton#alltabs-button {
-moz-binding: url("userChrome.xml#js");
}

/* 多段タブ時指定した段数以上になった時タブバーに出てくるスクロールバーをマウスホイールで上下出来るようにする */
#tabbrowser-tabs .tabbrowser-arrowscrollbox {
    -moz-binding: url("chrome://global/content/bindings/scrollbox.xml#arrowscrollbox") !important;
}

ほんで、多段タブ.zip 最新版をダウンロード(※ 2019/1/30 現在は URL = 1791, 日時 = 2019/01/28 14:44:07)。

お好みの MultiRowTabLiteforFx.uc.jschrome フォルダにコピー

そん後に、Aris (Aris-t2) 氏の userChrome.css をコピペしますん(※ @import が使えない... orz)

上記CSS内容を userChrome.css の末尾にコピペで。

ほいで、メニューバーを完全に隠したい場合は下記を追記で。

ウチでは Altキー押しのメニューバー表示がちょっと重なってますけど。(;´Д`)

f:id:palm84:20190130080846p:plain

あと、Firefox_ToolBarButtons.uc.js のボタンをタブバーに置くとなんかデッカいんですけど.. 。゚(゚´Д`゚)゚。

ま、いっかー (*´σー`)エヘヘ

おっさんクサいAAばっかでごめりんこ!

タブ幅

まぁ好き好きですけども、ウチではこんなん...

.tabbrowser-tab {
    min-width: 160px !important;
    max-width: 180px !important;
}   

.tabbrowser-tab[pinned]{
   min-width: 20px!important;
}

最大 180, 最小 160, ピン留め 20 固定ですよ。

【2019.11.3 追記】70.0.1 ではこんなかんじにしてます(多段タブ.zip の受け売りw)...

tabs tab[fadein]:not([pinned]) {
    min-width: 180px !important; /* 最小値 デフォルト  76px */
    max-width: 200px !important; /* 最大値 デフォルト 225px */
}
【追記】Altキー押しでのメニューバー表示

ありり?できなくなってしまいました… orz

というわけで上記の画像の様に重なってしまうけど、タイトルバー表示オン & メニューバー非表示 時のAltキー押しでのメニューバー一時表示を可能にしてみた。めっちゃてきとーですけど、すみません...

  1. tabs_below_navigation_toolbar_fx65_v2_force_hidden_menubar.css の記述は削除
  2. tabs_below_navigation_toolbar_fx65_v2.css の74行目の記述をちょっと変更
70: /* Windows */
71: @media (-moz-os-version:windows-win10), (-moz-os-version:windows-win8), (-moz-os-version:windows-win7) {
72: 	/* set to '0', if no menubar is used */
73: 	#main-window:not([tabsintitlebar]):not([sizemode="fullscreen"]) #nav-bar {
74: 	  margin-top: 0 !important;
75: 	}

ほな!はいはい。