2007-05-15

Firefox キーカスタマイズ

functions for keyconfig と keyconfig
を使って各種スクリプトを割り当てると、
ショートカットキーのカスタマイズ性が、飛躍的にく広がる。


軽量マウスジェスチャーやmouse gestureなどでブラウザを操作するのは、
大変便利であるけれど、ジェスチャーを覚えるのが大変。
いちいちマウスに手を伸ばすのがおっくうな場合もある。
というわけで、ジェスチャーのスクリプトコードを利用して、
任意の動作を好みのショートカットキーに割り当ててみた。

参考にしたスクリプトコードは以下のとおり
SCRAPBLOG : [userChrome.js] 軽量マウスジェスチャで利用可能なスクリプト集

使用した拡張は以下のとおり
Extension Room :: keyconfig
Firefox Extension: functions for keyconfig


これらの道具がそろえばあとは簡単。

例1のスクリプトを実際に割り当ててみます

まず keyconfig の設定画面を開く

Add New keyを押して画面を開き、実行したいスクリプトコードを貼り付ける。

動作の名前を適当に入力。



作成した名前にキーを割り当てる。














firefoxを再起動すると、割り当てたキーが有効となる。
なお、設定時にはキーがバッティングしないように注意が必要です。

以下、現在利用しているスクリプトの例です。

例1リファラのオンオフの切り替え( refer toggle )

const kPrefName = "network.http.sendRefererHeader";
var prefVal = gPrefService.getIntPref(kPrefName);
prefVal = prefVal == 2 ? 0 : 2;
gPrefService.setIntPref(kPrefName, prefVal);
var msg = prefVal == 0 ? "Disabled Referer" : "Enabled Referer";
XULBrowserWindow.statusTextField.label = msg;


例2プライバシー情報の消去

setTimeout(function(){ document.getElementById("Tools:Sanitize").doCommand(); }, 0);



例3 再起動

Cc["@mozilla.org/toolkit/app-startup;1"].getService(Ci.nsIAppStartup)
.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);



例4検索ボックスのクリア

BrowserSearch.getSearchBar().value = "";



例5 メニューバーの表示非表示

var menubar = document.getElementById("toolbar-menubar");
menubar.collapsed = !menubar.collapsed;



例6 ひとつ前のページへ(あるいは一つ後のページへ)
たとえばhttp://www........part2.html というページを表示させていたとしよう。
ここで、part1のページが見たくなったら、設定したショートカットキーを押せばいい。わざわざおおもとのページまでもどらなくてすみます。もちろんですが、同様にひとつ後のページへも移動できます。
これはとても重宝しています。

 前のページへのコード

var w = window._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 {
window._content.location = w.join('')
} catch(ex) {
}
}

0 件のコメント: