Foxy Gestures

Last-modified: 2020-06-18 (木) 10:19:44

拡張機能 - Foxy Gestures

ジャンル操作
バージョン
特徴マウスジェスチャー機能を追加する[e]
人気投票数 0  [投票ボタン]
対応Fx
対応Tb
日本語
最新版入手先Foxy Gestures :: Versions :: Add-ons for Firefox [e]
ミラーサイトAdd-ons for Firefox[e]
制作者サイトmarklieberman · GitHub [e]
英語
非公式版サイト[e]
関連サイトGitHub - marklieberman/foxygestures: Mouse gestures for Firefox [e]
User Scripts · marklieberman/foxygestures Wiki · GitHub[e]
Firefox 57(Quantum)で動かなくなった「FireGestures」の代替に選ばれたのは、「Foxy Gestures」と往年の名ソフトでした。|texst.net[e]

説明・詳細

マウスジェスチャー機能を追加します。
組み込みコマンドに任意のジェスチャーを割り当てる事ができる他、ユーザースクリプトを記入して任意のジェスチャーを割り当てる事もできます。

 

注意点

  • WebExtensions型拡張機能のためAMOやaboutページでは動作しない
    • AMO内のページで動作させる方法(Firefox57以降)
      about:configで「privacy.resistFingerprinting.block_mozAddonManager」の項目を真偽値で作成し値を「true」にする
  • MacやLinux系OSで「Gesture Button」にマウス右ボタンを設定した状態でジェスチャーを入力する際にコンテキストメニューが表示されてしまう場合がある
    • 参考:Bug1360278
    • 回避方法:about:configの「dom.event.contextmenu.enabled」の値をtrueにする*1
 

設定項目


「General Settings」タブ

  • Gesture Button
    ジェスチャーを実行する際に押し続けるマウスボタンを選択する。
  • Left
    マウス左ボタンでジェスチャーを実行する。
  • Middle
    マウス中ボタンでジェスチャーを実行する。
  • RIght
    マウス右ボタンでジェスチャーを実行する。
  • Do not start a gesture while holding the Alt key.
    Altキーを押しながらジェスチャーを入力した時にジェスチャーを実行しないようにする。
  • Gesture Timeout
    ジェスチャーの入力が開始されてからジェスチャーの入力を受け付けるまでの時間を秒単位で指定する。
  • Draw gesture trails
    ジェスチャー実行時にページ上にジェスチャーの軌跡を描画する。
  • More options / Fewer options
    詳細な設定項目の表示を切り替える。
  • Trail Width
    軌跡の幅をピクセル単位で指定する。
  • Trail Color
    軌跡の色をCSS用の色名/カラーコード/RGB値で指定する。
  • Show status text
    ジェスチャー実行時にページ上にジェスチャーの情報を表示する。
  • More options / Fewer options
    詳細な設定項目の表示を切り替える。
  • Status Timeout
    ジェスチャーの入力が開始されてからジェスチャーの情報が表示され続ける時間を秒単位で指定する。
  • Status Template
    ジェスチャー情報の表示をHTMLコードで指定する。

「Built-in Commands」タブ

  • 入力欄
    記入した文字列で組み込みコマンドを絞り込み検索する。
  • 組み込みコマンド一覧
    組み込みコマンドと、それを実行するために必要なジェスチャーが表示される。
    各コマンドの下にある四角い空間の上でジェスチャーを実行すると、実行したジェスチャーが割り当てられる。
    各コマンドの下にある四角い空間の上でジェスチャー用マウスボタン*2のクリックのみを実行した場合、割り当てられたジェスチャーは消去される。
  • Close Other Tabs
    他のタブを全て閉じる。
  • Close Tab
    タブを閉じる。
  • Close Tabs to the Left
    左側のタブを全て閉じる。
  • Close Tabs to the Right
    右側のタブを全て閉じる。
  • Duplicate Tab
    タブを複製する。
  • Duplicate Tab in New Private Window
    タブを新しいプライベートウィンドウに複製する。
  • History Back
    タブ履歴を1つ戻る。
  • History Forward
    タブ履歴を1つ進める。
  • Minimize Window
    ウィンドウを最小化する。
  • Move Tab to New Window
    タブを新しいウィンドウに移動する。
  • New Private Window
    新しいプライベートウィンドウを開く。
  • New Tab
    新しいタブを開く。
  • New Window
    新しいウィンドウを開く。
  • Next Tab
    右隣のタブへ切り替える。
  • Open Frame in New Tab
    リンク先URLを非アクティブな新しいタブで開く。
  • Open Frame in New Window
    リンク先URLを非アクティブな新しいウィンドウで開く。
  • Open Link in New Private Window
    リンク先URLを非アクティブな新しいプライベートウィンドウで開く。
  • Open Link in New Tab
    リンク先URLをアクティブな新しいタブで開く。
  • Open Link in New Window
    リンク先URLをアクティブな新しいウィンドウで開く。
  • Page Down
    URLに数字が含まれる場合に数字を1つ減らしたURLへ移動する。
  • Page Up
    URLに数字が含まれる場合に数字を1つ増やしたURLへ移動する。
  • Pin/Un-pin Tab
    現在のタブのピン留め状態を切り替える。
  • Previous Tab
    左隣のタブへ切り替える。
  • Reload
    ページを再読み込みする。
  • Reload (Bypass cache)
    キャッシュの有無に関わらずページを再読み込みする。
  • Reload Frame
    マウスポインタ上のフレームページを再読み込みする。
  • Reset Zoom
    拡大縮小の状態を元に戻す。
  • Save Media As
    画像/音声/動画ファイルを任意のフォルダに名前を付けて保存する。
  • Save Media Now
    画像/音声/動画ファイルをダウンロードフォルダに直接保存する。
  • Scroll Down
    ページを1ページ分下にスクロールする。
    スクロール量は「More Preferences」タブの「Navigation and Scrolling」→「Amount of viewport to scroll for Scroll Up/Down commands」から変更可能。
  • Scroll to Bottom
    ページの末尾へスクロールする。
  • Scroll to Top
    ページの先頭へスクロールする。
  • Scroll Up
    ページを1ページ分上にスクロールする。
    スクロール量は「More Preferences」タブの「Navigation and Scrolling」→「Amount of viewport to scroll for Scroll Up/Down commands」から変更可能。
  • Show Only This Frame
    マウスポインタ上のフレームページのみを表示する。
  • Undo Close
    最後に閉じたタブを開き直す。
  • Zoom In
    ページを10%拡大する。
    ページの拡大/縮小率は「More Preferences」タブの「Navigation and Scrolling」→「Amount to change zoom factor for Zoom In/Out commands」から変更可能。
  • Zoom Out
    ページを10%縮小する。
    ページの拡大/縮小率は「More Preferences」タブの「Navigation and Scrolling」→「Amount to change zoom factor for Zoom In/Out commands」から変更可能。

「User Scripts」タブ

  • Gesture
    ジェスチャーを入力する。
  • User Script
    • コマンド名入力欄
      ユーザースクリプトのコマンド名を記入する。。
  • ゴミ箱ボタン
    このコマンド(ユーザースクリプト)を削除する。
  • コード入力欄
    ユーザースクリプトのコードを記入する。
  • Add User Script
    ユーザースクリプトを追加する。

  • ユーザースクリプト記入例その1
    • コマンド名入力欄

      Scroll to Bottom

  • コード入力欄*3*4

    window.scrollTo(0,document.documentElement.scrollHeight);

  • 機能
    ページ末尾へスクロールする。
  • 備考
    組み込みコマンドの「Scroll to Bottom」が効かないサイトがあった場合に使う。

  • ユーザースクリプト記入例その2
    • コマンド名入力欄

      Scroll to Bottom

  • コード入力欄*5

    window.scrollByPages(1000);

  • 機能
    ページを下方向に1000ページ分スクロールする。(実質的にページ末尾へスクロールする)
  • 備考
    組み込みコマンドの「Scroll to Bottom」が効かないサイトがあった場合や、組み込みコマンドの「Scroll to Bottom」と記入例その1の「Scroll to Bottom」が単独画像上で効かない場合に使う。

  • ユーザースクリプト記入例その3
    • コマンド名入力欄

      Scroll to Bottom

  • コード入力欄*6

    window.scrollTo(0,window.scrollMaxY);

  • 機能
    ページ末尾へスクロールする。
  • 備考
    組み込みコマンドの「Scroll to Bottom」が効かないサイトがあった場合や、組み込みコマンドの「Scroll to Bottom」と記入例その1の「Scroll to Bottom」が単独画像上で効かない場合に使う。

  • ユーザースクリプト記入例その4
    • コマンド名入力欄

      PgDn

  • コード入力欄*7

    window.scrollByPages(1);

  • 機能
    ページを下方向に1ページ分スクロールする。

  • ユーザースクリプト記入例その5
    • コマンド名入力欄

      PgUp

  • コード入力欄*8

    window.scrollByPages(-1);

  • 機能
    ページを上方向に1ページ分スクロールする。

  • ユーザースクリプト記入例その6
    • コマンド名入力欄

      Go to next numbered page

  • コード入力欄*9

    var w = content.location.href.split(new RegExp('(\\d+)'));

    for(var i = w.length-1; i>=0; i--)

    if (w[i].match(new RegExp('\\d+')))

    break;

    if (i >= 0) {

    var l = w[i].length;

    if(w[i].match(new RegExp('^0')))

    w[i] = (+ w[i] + 1000000001).toString().substring(10 - l);

    else

    w[i]++;

    try {

    content.location = w.join('')

    } catch(ex) {

    }

    }

  • 機能
    次の連番ページへ移動する。
  • 備考
    組み込みコマンドの「Page Down」が効かない場合に使う。

  • ユーザースクリプト記入例その7
    • コマンド名入力欄

      Go to previous numbered page

  • コード入力欄*10

    var w = content.location.href.split(new RegExp('(\\d+)'));

    for(var i = w.length-1; i>=0; i--)

    if (w[i].match(new RegExp('\\d+')))

    break;

    if (i >= 0) {

    var l = w[i].length;

    if(w[i].match(new RegExp('^0')))

    w[i] = (+ w[i] + 999999999).toString().substring(10 - l);

    else

    w[i]--;

    try {

    content.location = w.join('')

    } catch(ex) {

    }

    }

  • 機能
    前の連番ページへ移動する。
  • 備考
    組み込みコマンドの「Page Up」が効かない場合に使う。

  • ユーザースクリプト記入例その8
    • コマンド名入力欄

      Stop

  • コード入力欄*11

    window.stop();

  • 機能
    ページの読み込みを中止する。

  • ユーザースクリプト記入例その9
    • コマンド名入力欄

      URL hierarchy up

  • コード入力欄*12

    if (window.location.href[window.location.href.length - 1] === "/")

    window.location.href = "../";

    else

    window.location.href = "./";

  • 機能
    1つ上の階層のURLに移動する。

「Other Gestures」タブ

  • Enable wheel gestures.
    ホイールジェスチャーを有効にする。
  • Scroll Up
    ジェスチャー用マウスボタン*13を押しながらホイールを上方向に回転した時に実行するコマンドを選択する。
  • Scroll Down
    ジェスチャー用マウスボタン*14を押しながらホイールを下方向に回転した時に実行するコマンドを選択する。
  • Scroll Left
    ジェスチャー用マウスボタン*15を押しながらチルトホイールを左方向に傾けた時に実行するコマンドを選択する。
  • Scroll Right
    ジェスチャー用マウスボタン*16を押しながらチルトホイールを右方向に傾けた時に実行するコマンドを選択する。
  • Enable chord gestures
    ロッカージェスチャーを有効にする。
  • Left + Right
    マウス左ボタンを押しながらマウス右ボタンを押した時に実行するコマンドを選択する。
  • Right + Left
    マウス右ボタンを押しながらマウス左ボタンを押した時に実行するコマンドを選択する。

「More Preferences」タブ

  • Tab and Window Commands
    • Open in New Tab family of commands insert the tab after the current tab. This setting is similar browser.tabs.insertRelatedAfterCurrent.
      組み込みコマンドの「Duplicate Tab」「Open Frame in New Tab」「Open Link in New Tab」を実行した時に新しいタブを現在のタブの右隣に非アクティブ状態で開く。
  • Next tab and previous tab commands wrap from last tab to first tab.
    組み込みコマンドの「Next Tab」や「Previous Tab」でタブバー両端のタブ同士を切り替えるようにする。
  • Default URL for tabs opened with New Tab command
    組み込みコマンドの「New Tab」で新しいタブを開いた時に下の入力欄に記入したURLを表示する。
  • Default URL for windows opened with New Window command
    組み込みコマンドの「New Window」で新しいウィンドウを開いた時に下の入力欄に記入したURLを表示する。
  • Default URL for windows opened with New Private Window command
    組み込みコマンドの「New Private Window」で新しいプライベートウィンドウを開いた時に下の入力欄に記入したURLを表示する。
  • Navigation and Scrolling
    • Page Up and Page Down commands follow rel=next and rel=prev attributes.
      組み込みコマンドの「Page Up」や「Page Down」でリンク先のrel属性の値「next」や「prev」を参照し前後ページのリンクへ移動可能にする。
  • Duration of the animation for the scroll to top/bottom
    組み込みコマンドの「Scroll to Top」か「Scroll to Bottom」でページ先頭/末尾にスクロールする際にアニメーション効果で遅延させる時間を秒単位で指定する。
    「0」に設定した場合、アニメーション効果は無効になる。
  • Amount of viewport to scroll for Scroll Up/Down commands
    組み込みコマンドの「Scroll Up」「Scroll Up」を実行した時のスクロール量を百分率*17で指定する。
  • Other Commands
    • Amount to change zoom factor for Zoom In/Out commands
      組み込みコマンドの「Zoom In」「Zomm Out」を実行した時の拡大/縮小率を百分率で指定する。
  • Advanced Gesture Settings
    • Allow text to be selected during a gesture. (Do not prevent 'selectstart' events during gestures.)
      ジェスチャー用ボタンをマウス左ボタン*18に設定している場合、ジェスチャー入力中に文字列を選択可能にする。
 

類似拡張機能(WebExtensions対応)

 

類似拡張機能(WebExtensions未対応)

 


*1 ウェブサイト側の独自コンテキストメニューが表示されなくなる恐れがあるので注意
*2 Gesture Buttonで選択したマウスボタン
*3 参考:Javascript: scroll to bottom of page/window « Alec's Web Log
*4 参考:document.height - Web API インターフェイス|MDN
*5 参考:window.scrollByPages - Web API インターフェイス|MDN
*6 参考:window.scrollMaxY - Web API インターフェイス|MDN
*7 参考:window.scrollByPages - Web API インターフェイス|MDN
*8 参考:window.scrollByPages - Web API インターフェイス|MDN
*9 参考:Go to next numbered page
*10 参考:Go to previous numbered page
*11 参考:window.stop - Web API インターフェイス|MDN
*12 Gesturefy/actions.js at master · Robbendebiene/Gesturefy · GitHub
*13 Gesture Buttonで選択したマウスボタン
*14 Gesture Buttonで選択したマウスボタン
*15 Gesture Buttonで選択したマウスボタン
*16 Gesture Buttonで選択したマウスボタン
*17 ページの垂直方向の表示領域全体を100vhとした時の百分率
*18 「General Settings」タブ→「Gesture Button」→「Left」