むしろロッカージェスチャなら

「右クリック+ホイールでタブ切り替え」に加えてロッカージェスチャ、ダブルクリックなんかもできる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)ってしてる意図ってなんなんだろう?右クリックでないと何か弊害でもあるのかしら。気になったのでトラバを送ってみるテスト。