試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

Firefoxのpageinfo_link拡張のリンクダブルクリックを無効化

  1. pageinfo_link拡張のリンク一覧から意図せずにリンクを開く誤操作が発生
  2. 作業

pageinfo_link拡張のリンク一覧から意図せずにリンクを開く誤操作が発生

これを書いた前日(2009/4/27)、Firefoxで、ふと覚えのないURLが新しいタブに開かれているのを発見した。
振り返ってみるとページ内にあるリンクのリンク先を調べるのにpageinfo_link拡張の
「リンク」のリスト項目からURLをコピーしていたのを思い出したので、そのときに開いていたページをもう一度開いて確認してみたところ、開かれていたページのURLが見つかった。
つまり、何らかの誤操作でpageinfo_link拡張のリンク一覧からページが開いたと考えられる。
色々と試行錯誤している中でもう一つ意図せずにリンクを開いてしまったものの、それがリスト項目のダブルクリックによるものであることを突き止めた。ついリストをダブルクリックしてしまったために先ほどのページが開かれた可能性が高い。
この「ダブルクリックでリスト項目のリンク先を開く」機能は自分には都合が悪いため、無理やり無効化することにした。

作業

chrome/pageinfo_link.jarの中にあるcontent/pageinfo_link/pageinfo_link.jspageinfo_link_doubleclick()関数の中身をreturn文だけにする。
ファイル名: pageinfo_link-0.2.0-disable-doubleclick.patch

--- content/pageinfo_link/pageinfo_link.js.orig
+++ content/pageinfo_link/pageinfo_link.js
@@ -101,24 +101,7 @@
 // doubleclick
 //
 function pageinfo_link_doubleclick(event) {
-	if (event.originalTarget.localName != "treechildren"){ return; }
-
-	var tree = event.target;
-	if (!("treeBoxObject" in tree)){ tree = tree.parentNode; }
-
-	var row = {};
-	var col = {};
-	var elt = {};
-	tree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, elt);
-
-	if (row.value == -1){ return; }
-
-	var column = tree.columns.getNamedColumn('link-address');
-	var url = tree.treeBoxObject.view.getCellText(row.value, column);
-
-	if ("gBrowser" in window.opener){
-		window.opener.gBrowser.addTab(url);
-	}
+	return;
 }
 
 

上記パッチはCR+LFの改行となる。下は適用作業例。

$ mkdir work && cd work/
$ unzip ~/.mozilla/firefox/[プロファイルディレクトリ]/extensions/\{76896068-1fca-43d3-8cd9-60ad8815678e\}/chrome/pageinfo_link.jar
$ patch -p0 < [pageinfo_link-0.2.0-disable-doubleclick.patchの場所]
$ find -print0 | xargs -0 zip -9 ../pageinfo_link.jar -@
$ cd ../
$ rm work -fr
$ mv ~/.mozilla/firefox/[プロファイルディレクトリ]/extensions/\{76896068-1fca-43d3-8cd9-60ad8815678e\}/chrome/pageinfo_link.jar{,.orig}
$ mv pageinfo_link.jar ~/.mozilla/firefox/[プロファイルディレクトリ]/extensions/\{76896068-1fca-43d3-8cd9-60ad8815678e\}/chrome/

使用したバージョン: