ZAPAnet総合情報局 > ZAPAブログ2.0 > Firefoxのマウスジェスチャー

Firefoxのマウスジェスチャー

2012年09月05日 パソコン(PC)
Webブラウザに欠かせないのが、マウスジェスチャー機能。

今までFirefoxでは、easyGesturesというイマイチなマウスジェスチャーアドオンを使っていました。なぜイマイチなのにこのアドオンを使っていたかというと、ジェスチャーごとに自分でスクリプトを書けたり、右クリックで新規タブをバックグラウンドで開く機能などが気に入っていたからです。イマイチな部分は動作速度だったり、新バージョンへの対応速度だったり、他のメジャーなアドオンに押されて開発のやる気がなさそうだったりするところです。

この前、新バージョンのFirefox15にアップデートしてから、easyGesturesが誤作動を起こすなど、さらにイマイチになってきました。そこで、これを機にマウスジェスチャーを変えることにしました。ただ、アドオンでのマウスジェスチャーは付ける気がなくて、自分でスクリプトを自由に書けるタイプが良いと考えました。これは、スクリプトを自由に書けて、簡単に自分好みのマウスジェスチャーを実現できたGoogle Chromeの影響です。

Chromeのマウスジェスチャースクリプトの記述は簡単で、初めてChromeをインストールした時に、速攻でスクリプトを書きました。スクリプトを書いた後に、「あれっ、Chromeってサイドバーがないの!?」と驚いて、Chromeを常用ブラウザにするのをやめたくらいでした。Chromeを本格的に使う前に、マウスジェスチャースクリプトを書き終わってたくらい簡単でした。

さて、Firefoxでマウスジェスチャーのスクリプトを書こうと思ったところで、やり方を調べてみました。どうやら、「userchromejs」というアドオンをインストールすれば、自分でJavaScriptを実行できるようになるようでした。インストールと初期設定の仕方は、「userChrome.js - Mozilla Firefox まとめサイト」に載っています。userchromejsをインストールし、Firefoxプロファイルフォルダのchromeフォルダに、userChrome.jsというファイルを作ればOKです(複数のJSファイルを実行する場合には、サブスクリプトローダとやらも入れる必要があるようです)。

マウスジェスチャーのスクリプト部分については、「https://www.xuldev.org/misc/script/MouseGestures.uc.js」を参考に、自分用にスクリプトを書き換えてみました。

「_performAction: function(event)」より上の部分は、主にマウスジェスチャー読み取りの定義部分です。いじる必要はありません。「_performAction: function(event)」の関数の中が個別のマウスジェスチャーの設定になっています。ここを自分好みに編集します。マスジェスチャーの方向は、case文でそれぞれ設定します。戻る、進む、ページアップ、ページダウンなどの機能は初期設定に含まれています。ジェスチャーの方向だけ、自分好みにすればOKです。他にも、「SCRAPBLOG : [userChrome.js] 軽量マウスジェスチャで利用可能なスクリプト集」にもいろいろなジェスチャーが載っています。

一点だけ、「選択した文字列をGoogleで検索」という機能がなかったので、他のページを参考にして、適当にスクリプトを追加しておきました。マウスジェスチャー「↓←」に、こんな風に割り当ててみました。
case "DL": var win = document.commandDispatcher.focusedWindow;
var sel = win.getSelection().toString();
if (!sel) return;
sel = sel.split("\n");
var str = encodeURIComponent(sel);
str = "https://www.google.co.jp/search?hl=ja&q=" + sel;
gBrowser.loadOneTab(str, null, null, null, false, false);
break;

これで、自分の欲しいマウスジェスチャー機能は揃いました。あとは、「右クリックで新規タブをバックグラウンドで開く機能」の追加です。これは、「Right Links :: Add-ons for Firefox」というアドオンをインストールすることで解決しました。右クリックすると新規タブをバックグラウンドで開けます。Ctrlを押しながら右クリックしたり、右クリック長押ししたりすると、通常の右クリックメニューも出てきます。その他、細かい機能もあってなかなか使い勝手の良いアドオンです。


Firefox15にアップデートされ、easyGesturesをやめて、userchromejsとRight Linksに変えてから一週間が経ちました。使用感は素晴らしいです。easyGesturesよりも動作が軽くて、全然いいですね。マウスジェスチャーアドオンは、必要のない機能まで入っていて、動作速度が犠牲になることがよくあります。Firefoxでも自分でスクリプトを書けるようになったので、これからは必要な機能だけを追加できるようになりました。Firefoxのマウスジェスチャー機能を改善したいなぁと思った場合は、試してみてください。