むしろロッカージェスチャなら
「右クリック+ホイールでタブ切り替え」に加えてロッカージェスチャ、ダブルクリックなんかもできるhttp://yanako.blog26.fc2.com/blog-entry-117.htmlのmouseGesture2.4.2.uc.jsがかなりいい感じだった。マウスジェスチャは使わないのでその部分の処理は削って、ありがたく使わせてもらうことに。
自分でこれを作ろうとゴチャゴチャと書いてたけど、ロッカージェスチャの時にコンテキストメニューの表示をさせないことがどうしてもできなかった。mouseGesture2.4.2.uc.jsでは、以下のようにしてあって、目からうろこだった。
gBrowser.mPanelContainer.addEventListener("contextmenu", contextmenu, true); function contextmenu(event){ if(_willStopContext || _draging) { event.preventDefault(); event.stopPropagation(); } }
あと、「右ダブルクリック」をアピールポイントにしているみたいだけど、普通の左ダブルクリックでもアクションも指定したい場合は158行目のifを以下のようにしてevent.button値での制限をやめる。
}else if(DOUBLE_CLICK && event.detail == 2){
その後15行目あたりで
function doubleClick(command){ // ====ダブルクリック==== switch(command){ case "LL": document.getElementById("Browser:ReloadSkipCache").doCommand(); break; // 未定義のジェスチャ default: throw "Unknown Gesture: "+command; } }
とかやってみると素敵です。
でもこの158行目でif(DOUBLE_CLICK && event.detail == 2 && event.button==2)ってしてる意図ってなんなんだろう?右クリックでないと何か弊害でもあるのかしら。気になったのでトラバを送ってみるテスト。