Hatena::Blog::Code404

日々のことをつらつらと。

Firefox 3.0

導入した。早い。

拡張

//benki.tank.jp/xpi/Adblock++_fx3_0.1.6.xpi">Adblock++ for Firefox3:広告削除。ゴニョらないとインストール出来ない。
//addons.mozilla.org/ja/firefox/addon/6622" title="DOM Inspector :: Firefox Add-ons">DOM Inspector:要素調査。
//downloadstatusbar.mozdev.org/" title="mozdev.org - downloadstatusbar: index">Download Statusbar:ダウンロードマネージャが嫌いなあなたへ
//flashgot.net/" title="FlashGot - Best Firefox Download Manager Integration - what is it? - InformAction">FlashGot:ダウンロードツールと連携。
//www.longfocus.com/firefox/gmanager/" title="tLo : Gmail Manager">Gmail Manager:Gmail 管理。
//livehttpheaders.mozdev.org/" title="mozdev.org - livehttpheaders: index">Live HTTP Headers:HTTP 通信を可視化。
//pearlcrescent.com/products/pagesaver/" title="Pearl Crescent Page Saver">Pearl Crescent Page Saver Basic:ページのスクリーンショット作成。
//addons.mozilla.org/ja/firefox/addon/2108" title="Stylish :: Firefox Add-ons">Stylish:ユーザースタイル管理。
//forums.mozillazine.org/viewtopic.php?t=556229" title="[Ext] userChrome.js 0.8 • mozillaZine Forums">userChrome.js:各種ゴニョる。
ユーザースタイル
以前の stylish.rdf をコピペで済ませた。ので晒すの面倒。
userChrome スクリプト
Bookmarks and History open in New Tab
履歴・ブックマークからページを開く際の動作を設定。
Clear Search Term
検索バーから検索後、検索語句を消去しデフォルト検索エンジンに戻す。某 80 氏のもの。一部コメントアウトした。
// ==UserScript==
// @name           Clear Search Term
// @version        0.0.1
// @description    Clears search term after searching. And resets to default search engine.
// @author         80
// @homepage       
// @namespace      http://pc11.2ch.net/software/
// @compatibility  Firefox 2.0
// @compatibility  Firefox 3.0
// @include        chrome://browser/content/browser.xul
// @note           
// ==/UserScript==


// ClearSearchTerm
// 検索した後にボックスを空に

(function() {
	var searchbar = document.getElementById("searchbar");
	if(searchbar){
		searchbar.handleSearchCommand_org = searchbar.handleSearchCommand;
		searchbar.handleSearchCommand = function(aEvent){
			searchbar.handleSearchCommand_org(aEvent);
			// clear searchbar
			this._textbox.value = "";
//			this._textbox._displayCurrentEngine();
			// reset to default engine
			setTimeout(function(){
				var ss = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService);
				ss.currentEngine = ss.defaultEngine;
			}, 0);
		}
	}
})();
ConQueryもどき改2
検索エンジン一覧に罫線追加・多段表示。コンテキストからエンジン選択してすぐ検索。
Copy URL Lite+
右クリックから色々コピー。
History Scroller
右(左)クリックとマウスホイールの回転で履歴を行き来できるように。最初の定数の設定に一行書き加えなければ動作しない。
const kXULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
Locationbar New Tab
ロケーションバーからの入力を新タブで開く。 Alt を押しながら現在のタブに開く。某 80 氏のもの。
// ==UserScript==
// @name           Locationbar New Tab
// @version        0.0.1
// @description    Opens new tab from Locationbar.
// @author         80
// @homepage       
// @namespace      http://pc11.2ch.net/software/
// @compatibility  Firefox 2.0
// @compatibility  Firefox 3.0
// @include        chrome://browser/content/browser.xul
// @note           
// ==/UserScript==

(function(){
	BrowserLoadURL = function(event, post){
		gBrowser.userTypedValue = content.window.document.URL;
		if(event && event.altKey) loadURI(gURLBar.value, null, post, true);
		else gBrowser.loadOneTab(gURLBar.value, null, null, post, false, true);
	}
})();
Main Menus in One
メニュー項目を纏める。
Mouse Gestures
右クリックを押しながら、マウス移動で各種動作を実行。
Open Tabs Next
新しく開くタブを現在のタブの右に。
Active-Left
現在のタブを閉じた際に、左のタブにフォーカス。
Paste And Go
ロケーションバーのコンテキストに「貼り付けて移動」を追加。
Restart Firefox
ファイルメニューに「再起動」を追加。いつの間にかバージョン上がってる。俺はアイコン付きのほうを改変して使ってる。
SafariHighlight
ページ内検索のときに、 Safari のようにヒット箇所をアニメーション・ハイライトする。
Undo List in ContextMenu
「最近閉じたタブ」をコンテキストメニューに移動。
// ==UserScript==
// @name           Undo List in ContextMenu
// @version        0.0.1
// @description    Adds history undo menu in context menu.
// @author         Shinya
// @homepage       
// @namespace      http://www.code-404.net/
// @compatibility  Firefox 2.0
// @compatibility  Firefox 3.0
// @include        chrome://browser/content/browser.xul
// @note           
// ==/UserScript==

(function(){
	var contextMenu = document.getElementById("contentAreaContextMenu");
	
	var menu = document.getElementById("historyUndoMenu")
	menu.setAttribute("id", "context-historyUndoMenu");
	menu.setAttribute("disabled", false);
	menu.setAttribute("accesskey", "T");
	
	var sep = (document.getElementById("endUndoSeparator") || document.getElementById("endHistorySeparator")).cloneNode(false);
	sep.setAttribute("id", "context-" + sep.id);
	
	contextMenu.insertBefore(sep, contextMenu.firstChild);
	contextMenu.insertBefore(menu, contextMenu.firstChild);
	
	eval('HistoryMenu.populateUndoSubmenu = ' +
		HistoryMenu.populateUndoSubmenu.toString()
		.replace('("label", undoItems[i].title);','("label", i + 1 + ". " + undoItems[i].title);')
		.replace('("value", i);','$& if (i < 10) m.setAttribute("accesskey", (i == 9) ? 0 : i + 1);')
	);
})();
User Agent Switcher Lite
UA を変更する。
userContent.js
Greasemonkey 互換。軽快。

テーマ

デフォルトのみ。

ションボリック

インストールできないものたち。
拡張
//getfirebug.com/jp.html" title="Firebug - Web Development Evolved">Firebug:色々覗き見。今はまだ必要ではないので正式対応を待つ。どこかにゴニョったのがあるらしいよ?
//olab.free.fr/OLab/sscp/" title="OLab - Firefox - StyleSheet Chooser Plus (SSCP)">StyleSheet Chooser Plus:代替 CSS 切り替え。なんか pre バージョンは予期せぬエラーとかいってインストールできない。すぐに必要ってものでもない。
//www.blogzilla.info/spellchecker/" title="BlogZilla » United States English Dictionary">United States English Dictionary:英語辞書。辞書にない単語は赤い下線が引かれて、その単語を右クリックすると候補単語から修正できる。何気に便利。恐らくゴニョればインストール出来るだろうけど、まだいいや。
テーマ
//dongato.dyndns.org/whitehart/" title="Whitehart Themes">Whitehart:大好きなテーマなんで、早く対応して欲しいなぁ。なんかテーマは色々と変更があって大変らしいけど…。

user.js

一部、 Firefox 3 から削除されてたので整理した。 [] 内はデフォルトの値。
/* ===== UI ====================================*/
// XULアプリのエラーを表示(デバッグ用) [false][false]
//user_pref("javascript.options.strict", true);
//user_pref("javascript.options.showInConsole", true);

// ソースの表示でシンタックスハイライトを有効にするか [true]
user_pref("view_source.syntax_highlight", true);

// ソースの表示で長い行を自動的に折り返すか [false]
user_pref("view_source.wrap_long_lines", true);

// メニューのアクセスに対応するキーコードは何か(18:Alt) [18]
user_pref("ui.key.menuAccessKey", 18);

// アクセスキーでメニューにフォーカスするか [true]
user_pref("ui.key.menuAccessKeyFocuses", true);

// メニューのアクセスキー表示の扱い(文字列) ["true"]
// true : 常にラベルの後ろに表示
// false: ラベルにアクセスキーと同じアルファベットがあると下線で、無い場合はラベルの後ろに表示
// 0    : アクセスキーを無効(だっけ?)
user_pref("intl.menuitems.alwaysappendaccesskeys", "false");

// ロケーションバークリックで全て選択するか [true]
user_pref("browser.urlbar.clickSelectsAll", true);

// ロケーションバーからBrowse By Name ["http://www.google.co.jp/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q="]
user_pref("keyword.URL", "http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=");

// 上記のkeyword.URLを使用するか [true]
user_pref("keyword.enabled", true);

// BackSpaceキーの動作(Shift+BackSpaceで逆の動作) [0]
// 0: ページの履歴を戻る
// 1: ページをスクロールアップ
// 2: 何もしない
user_pref("browser.backspace_action", 2);

// 1行テキストボックスに改行を含む文字列を張り付けするときの動作を設定 [2]
// 0: 改行も含めてそのまま貼り付ける
// 1: 最初の行だけを貼り付ける
// 2: 改行をスペースに置き換える
// 3: 改行を削除する
// 4: 改行をコンマに置き換える
user_pref("editor.singleLine.pasteNewlines", 2);

// クリック予想先を先読みするか [true]
user_pref("network.prefetch-next", false);

// フォームや検索バーに入力した情報を保存するか [true]
user_pref("browser.formfill.enable", false);

// 複数のタブを開いているときにブラウザを閉じようとした場合、確認するか [true]
user_pref("browser.tabs.warnOnClose", false);

// フォントの最小サイズ [0]
user_pref("font.minimum-size.ja", 12);

// オートスクロールを有効にするか [true]
user_pref("general.autoScroll", true);

// スムーズスクロールを有効にするか [false]
user_pref("general.smoothScroll", false);

// 入力フィールドでのスペルチェック(辞書を導入している場合のみ) [1]
// 0: 無効
// 1: 複数行フィールド(デフォルト)
// 2: 複数行・1行フィールド
user_pref("layout.spellcheckDefault", 2);

// ブックマークマネージャのブックマークをどのようにソートするか ["descending"]
// descending: ソートしない
// natural: アルファベット順に昇順 A-Z
// ascending: アルファベット順に降順 Z-A
user_pref("browser.bookmarks.sort.direction", "descending");


/* ----- マウスホイール ------------------------*/
// withnokey     : キーなし
// withaltkey    : Alt
// withcontrolkey: Ctrl
// withshiftkey  : Shift
// withmetakey   : Win??

// どの種類の動作をするのか [0]
// 0: numlines プロパティで与えられる行数単位で文書をスクロールする
// 1: 一ページ単位で文書をスクロールする
// 2: 履歴を戻る/進む
// 3: テキストを大きく/小さくする
user_pref("mousewheel.withnokey.action", 0);

// スクロールする行数の単位はいくつか [1]
user_pref("mousewheel.withnokey.numlines", 5);

// スクロールする行数の単位を決めるのにシステムのプロパティを使用するか [true]
user_pref("mousewheel.withnokey.sysnumlines", false);

// スクロールバー上での中クリックでその位置まで一気にスクロールするか [false]
user_pref("middlemouse.scrollbarPosition", true);


/* ----- favicon -------------------------------*/
// そのサイトが設定していなくてもfavicon.icoを読みに行くか [true]
user_pref("browser.chrome.favicons", true);

// そのサイトで設定したfaviconを読みに行くか [true]
user_pref("browser.chrome.site_icons", true);

// 何ピクセルまでの画像がタブ(またはロケーションバー)にサムネイル表示されるのか [1024]
// (画像を直接開いたときにサムネイル化しないように)
user_pref("browser.chrome.image_icons.max_size", 16);

/* ----- ダウンロード --------------------------*/
// アラート表示の1フレームに変えるピクセルの大きさ [1]
user_pref("alerts.slideIncrement", 3);

// アラート表示の1フレームを表示する時間(単位:ミリ秒) [10]
user_pref("alerts.slideIncrementTime", 30);

// アラートを表示する時間(単位:ミリ秒) [4000]
user_pref("alerts.totalOpenTime", 1500);

// ダウンロードマネージャから消去するタイミング [2]
// 0: ダウンロード正常終了時
// 1: ブラウザ終了時
// 2: 自動削除しない
user_pref("browser.download.manager.retention", 1);

// ダウンロード開始時にマネージャを表示するか [true]
user_pref("browser.download.manager.showWhenStarting", false);

// ダウンロード完了時にアラートを表示するか [true]
user_pref("browser.download.manager.showAlertOnComplete", true);


/* ----- ページ内制御 --------------------------*/
// ページ内アクセスキーをAltで機能させる [-1]
user_pref("ui.key.generalAccessKey", 18);

// 読み込んだ画像に表示領域に合うように縮小するか [true]
user_pref("browser.enable_automatic_image_resizing", false);

// 点滅効果を有効にするか [true]
user_pref("browser.blink_allowed", false);

// 右クリック禁止させないか [true]
user_pref("nglayout.events.dispatchLeftClickOnly", true);

// フレームを常にリサイズ可能にするか [false]
user_pref("layout.frames.force_resizability", true);

// エラーの表示をダイアログからエラーページに変更するか [true]
user_pref("browser.xul.error_pages.enabled", true);


/* ===== タブ制御 ==============================*/
// ブラウザの起動時に開くページ [1]
// 0: 空白
// 1: ホームページ
// 2: 最後に表示していたページ
// 3: 最後に開いていたタブ全部
user_pref("browser.startup.page", 3);

// タブが1つの時にタブバーを隠す [true]
user_pref("browser.tabs.autoHide", false);

// タブの閉じるボタンの表示 [1]
// 0: アクティブなタブだけ表示
// 1: すべてのタブに表示
// 2: すべてのタブに非表示
// 3: 一番端っこに表示
user_pref("browser.tabs.closeButtons", 2);

// タブを閉じた時、元のタブにフォーカスするか [true]
user_pref("browser.tabs.selectOwnerOnClose", true);

// タブ復元の記憶数 [10]
user_pref("browser.sessionstore.max_tabs_undo", 25);

// リンクを中クリックしたときにタブで開くか [true]
user_pref("browser.tabs.opentabfor.middleclick", true);

// 検索バーの結果を新しいタブで開くか [false]
user_pref("browser.search.openintab", true);

// 新しいタブをバックグラウンドで開くか [true]
user_pref("browser.tabs.loadInBackground", false);

// 新しいタブでブックマークを開くとき、そのタブはバックグラウンドで開くか [false]
user_pref("browser.tabs.loadBookmarksInBackground", false);

// ブックマークフォルダを開く場合にタブを置き換えるか [true]
user_pref("browser.tabs.selectOwnerOnClose", false);

// 外部アプリケーションからのリンク挙動 [3]
// 1: 現在のタブ(ウィンドウ)に開く
// 2: 新しいウインドウで開く
// 3: 新しいタブで開く
user_pref("browser.link.open_external", 3);

// 新しいウインドウを開くリンクの挙動(JS含む) [3]
// 1: 現在のタブ(ウィンドウ)に開く
// 2: 新しいウインドウで開く
// 3: 新しいタブで開く
user_pref("browser.link.open_newwindow", 3);

// 新しいウィンドウの制限を変更 [2]
// 0: 新しいウィンドウをすべて現在のタブ(ウィンドウ)または新しいタブに開く
// 1: JavaScript によって開かれるウィンドウは対象外とする
// 2: サイズ・位置・ツールバーの指定が含まれる JavaScript ウィンドウは対象外とする
user_pref("browser.link.open_newwindow.restriction", 0);


/* ===== Find As You Type ======================*/
// Find As You Type を有効にするか(自動的にスタート?) [false]
user_pref("accessibility.typeaheadfind", false);

// 文字入力を始めた途端、Find As You Type を自動的にスタートするか(効果なし?) [true]
// false (デフォルト) の場合、検索の前に / (テキスト検索) か ' (リンク検索) キーを押す
user_pref("accessibility.typeaheadfind.autostart", true);

// 通常のテキストを検索しないか [false]
user_pref("accessibility.typeaheadfind.linksonly", false);

// 必ずリンクから検索を始めるか [false]
user_pref("accessibility.typeaheadfind.startlinksonly", false);

// キーストロークの監視を止めるまでの時間をミリ秒で設定 [5000]
user_pref("accessibility.typeaheadfind.timeout", 5000);


/* ===== JavaScript ============================*/
// ウィンドウを移動させたり、大きさを変更させたりしないようにするか [false]
user_pref("dom.disable_window_move_resize", true);

// ウィンドウをリサイズ不可能にするか [true]
user_pref("dom.disable_window_open_feature.resizable", true);

// ウィンドウを最小化不可能にするか [false]
user_pref("dom.disable_window_open_feature.minimizable", true);

// ウィンドウのメニューを隠さないか [false]
user_pref("dom.disable_window_open_feature.menubar", true);

// ウィンドウのアドレスバーを隠さないか [true]
user_pref("dom.disable_window_open_feature.location", true);

// スクロールバーを無効にしないか [false]
user_pref("dom.disable_window_open_feature.scrollbars", true);

// ステータスバーを隠さないか [true]
user_pref("dom.disable_window_open_feature.status", true);

// ステータスバー内のテキストを設定できないようにするか [true]
user_pref("dom.disable_window_status_change", true);


/* ===== 拡張 ==================================*/

/* ----- ConQuery ------------------------------*/
// ConQueryもどきで新しいタブを開くか
user_pref("userChrome.conqueryModoki.newTab", true);

// ConQueryもどきで検索後、検索語を消去するか
user_pref("userChrome.conqueryModoki.clearAfter", true);

// ConQueryもどきで選択文が無いときプロンプト表示するか
user_pref("userChrome.conqueryModoki.promptNotSelected", true);
browser.throbber.url が無くなったのが痛い。