■ファイアーフォックス(Firefox)でタブ関連のアドオンにさよならを!?
このページの更新は終了しました。わたし自身が、ファイアーフォックスからシーモンキーにのりかえたからです。そんなわけで、「■ブラウザー・メールソフトのりかえ案内――シーモンキー(SeaMonkey)」、「■シーモンキー(SeaMonkey)をカスタマイズ」をどうぞ。
ファイアーフォックスでは、各種の設定を変更したり、ユーザースタイルシートとユーザースクリプトを使ったりして、タブ機能を自分好みにすることができます。もし、あなたが、スタイリッシュ(Stylish)とユーザークロームJS(userChromeJS)を使っているなら、タブ機能のカスタマイズにチャレンジしてみてはいかがでしょう? ひょっとしたら、タブ関連のアドオンにさよならをいえるかもしれません。
カスタマイズを試してみるまえに、新しいプロファイルを作っておきましょう。手順は以下のとおりです。
- ファイアーフォックスのショートカットをデスクトップに作る(すでにショートカットがある場合は、コピー・はりつけで、新しいショートカットを作ってください)
- ショートカットのプロパティを開き、リンク先に「 -p」を追加する(「"C:\Program Files\Mozilla Firefox\firefox.exe" -p」のようにする)
- このショートカットを実行すると、「ユーザープロファイルの選択」画面が表示されるので、「新しいプロファイルを作成」を選ぶ
- 新しいプロファイルで立ち上げたら、StylishとuserChromeJSをインストールする
- userChromeJSは、「■ファイアーフォックス(Firefox)でユーザースタイルシートを使ってみよう」を参考に環境をととのえる
1. 必要なタブ機能をリストアップ
わたしはこれまでタブミックスプラス(Tab Mix Plus)を使ってきました。「重い」などといわれることもあるアドオンですが、そんなふうに感じたことはありません。ただ、Tab Mix Plusはものすごく多機能なんですよね。わたしが必要としている機能はあまり多くはないので、ムダといえばムダです。
どんなタブ機能を必要としているのか、あらためてまとめてみると、こんなふうになりました。
- シングルウィンドウモード……開くウィンドウは1つだけ。ポップアップもふくめてすべてをタブで開きたい
- タブの多段表示……タブの位置は上部で
- タブの大きさを固定……幅100pxで
- タブの閉じるボタンを表示しない
- 新しいタブをつねに右端で開く
- 検索バーからの検索結果を新しいタブで開く
- タブを閉じたら、最後に選択したタブをアクティブに
- 閉じたタブの一覧をタブのコンテキストメニューに表示する……一覧から選んで開けるように
- 閉じたタブを中クリックで開く
タブ機能 | 設定 | ユーザースタイルシート | ユーザースクリプト |
---|---|---|---|
シングルウィンドウモード | △ | ||
タブの多段表示 | ○ | ||
タブの大きさを固定 | ○ | ||
タブの閉じるボタンを表示しない | ○ | ||
新しいタブをつねに右端で開く | ○ | ||
検索バーからの検索結果を新しいタブで開く | ○ | ||
タブを閉じたら、最後に選択したタブをアクティブに | ○ | ||
閉じたタブの一覧を表示する | ○ | ||
閉じたタブを中クリックで開く | ○ |
完全なシングルウィンドウモードをアドオンなしで実現するのは、いまのところ、ちょっとむずかしそうです。シングルウィンドウモード以外についてはなんとかなりそう、ということがわかりました。
2. 設定を変える
◆user.jsファイルを作る
ファイアーフォックスのこまかい設定は、ロケーションバーに「about:config」と入力して開いた画面(設定エディター)からおこなうのが一般的です。1つ2つの設定ならこれでもいいんですが、今回は、たくさんの設定をしなくてはなりません。そこで、設定をまとめて書いておける「user.js」というファイルを作っておきましょう。
てきとうなテキストエディターを立ち上げて、以下のように書き込んでください。場所をファイアーフォックスのプロファイルフォルダー、ファイルのなまえを「user.js」、文字コードを「BOMなしUTF-8」――にして保存します。
/* 設定ファイル */ //user_pref("設定名", 値);
「/* 〜 */」の部分と「//」の行はコメントです。「/* 〜 */」は複数行を、「//」は1行だけをコメントにします。コメントの部分は設定に影響しません。各種の設定は「user_pref("設定名", 値);」という書式で書いていくことになります。
user.jsの内容は、ファイアーフォックスに読み込まれて、おなじフォルダーの「prefs.js」というファイルに書き込まれます。user.jsに書いた設定をデフォルト値にもどしたいときは、つぎのようにしてください。
- ファイアーフォックスを終了する
- user.jsをテキストエディターで開いて、もどしたい設定をデフォルト値にかきかえる
- ファイアーフォックスを立ち上げて、終了する(この段階で、もどしたい設定はprefs.jsから削除される)
- user.jsをテキストエディターで開いて、もどしたい設定をコメントにするか、削除する
◆シングルウィンドウモード
シングルウィンドウモードにするには、以下のように設定します。これで基本的には、リンクなどが新しいウィンドウではなく、新しいタブで開くようになります。ただし、メニューの[ファイル]→[新しいウィンドウ]を選べば、もちろん、新しいウィンドウが開きます([ツール]→[userChrome.jsの設定]→[userChrome.jsの再構築/新しいウィンドウ]を選んでも、おなじですね)。
//------------------------------------------------------------------- // シングルウィンドウモード //------------------------------------------------------------------- /* リンクを開くとき 1: 現在のタブ 2: 新しいウィンドウ 3: 新しいタブ (デフォルト) */ user_pref("browser.link.open_newwindow", 3); /* JavaScriptなどでウィンドウを開くとき 0: browser.link.open_newwindow 1: 新しいウィンドウ 2: 大きさなどが指定された場合は新しいウィンドウ、そうでなければbrowser.link.open_newwindow (デフォルト) */ user_pref("browser.link.open_newwindow.restriction", 0);
◆タブの閉じるボタンを表示しない
タブごとにある「閉じる」ボタンは、デフォルトではすべてのタブに表示されます(タブ幅が決められた値よりせまくなると消えますが)。すべてのタブで表示されないようにするには、以下のように設定します。
//------------------------------------------------------------------- // タブ //------------------------------------------------------------------- /* タブの閉じるボタン 0: アクティブなタブだけに表示 1: すべてのタブに表示 (デフォルト) 2: 表示しない 3: タブバー右端に1つだけ表示 */ user_pref("browser.tabs.closeButtons", 2);
◆新しいタブをつねに右端で開く
「browser.tabs.insertRelatedAfterCurrent」のデフォルト値は「true」で、新しいタブは“親タブ”の右側に開かれます。つまり、
- (検索結果画面などの)リンクを中クリックしたときは、現在のタブの右側
- メニューの[ファイル]→[新しいタブ]を選んだときは、右端
新しいタブをつねに右端に開くようにするには、以下のように設定します。
/* 新しいタブの位置 true: 親タブの右側 (デフォルト) false: 右端 */ user_pref("browser.tabs.insertRelatedAfterCurrent", false);
◆検索バーからの検索結果を新しいタブで開く
検索バーからの検索結果を新しいタブで開くには、以下のように設定します。
/* 検索バーからの検索結果 true: 新しいタブで開く false: 現在のタブで開く (デフォルト) */ user_pref("browser.search.openintab", true);
3. ユーザースタイルシートを導入する
◆タブの多段表示・タブの大きさを固定
「firefox タブ 多段 css」などのキーワードでウェブ検索すると、ファイアーフォックスのタブを多段化するユーザースタイルシートがたくさんヒットします。また、「multi row tabs」といったキーワードで「userstyles.org」を検索してもいいですね。ファイアーフォックスの内部構造が変わっているので、あまり古いものは使えません。Stylishの「お試し」機能を活用しましょう。
検索結果を参考にきりばりしてできたのが、以下のユーザースタイルシートです。
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); .tabbrowser-arrowscrollbox scrollbox { overflow: visible !important; } .tabbrowser-arrowscrollbox scrollbox > box { display: block !important; } .tabbrowser-tabs .tabbrowser-tab { vertical-align: top !important; -moz-box-sizing: border-box !important; } /* 横スクロールボタン */ .scrollbutton-up, .scrollbutton-down { display: none !important; } /* 新しいタブボタン */ .tabs-newtab-button { display: none !important; } /* タブを一覧表示ボタンを表示したいときは、以下のコメントをはずす */ /* #alltabs-button { visibility: visible !important; } */ /* タブの幅・高さ */ .tabbrowser-tab:not([pinned]) { /* 幅はmin-widthだけ 指定しないとデフォルトの最小値100px */ min-width: 100px !important; /* 高さは、max-heightとmin-heightで */ min-height: 26px !important; max-height: 26px !important; }
制限事項をいくつか。
タブの段数制限はありません。タブの開きすぎにはご注意を。
多段表示されているタブをマウスのドラッグでうまく移動させることができません。それじゃあダメじゃん!ということになるんですが、Alice0775さんのスクリプト「zzzz-removeTabMoveAnimation.uc.js」(すでにダウンロードずみでしょう)を導入すれば、問題は(ほぼ)解決します(ドラッグにともなうタブのアニメーションはなくなります)。お試しください。
4. ユーザースクリプトを導入する
◆タブを閉じたら、最後に選択したタブをアクティブに
Alice0775さんのスクリプト「openTabsWhere_whichTabSelectWhenCloseTab.uc.js」と「ucjsNavigation.uc.js」を利用します。
openTabsWhere_whichTabSelectWhenCloseTab.uc.jsは、
- 新しいタブを開く位置……リンクは右隣・それ以外は右端、すべて右隣、すべて右端
- タブを閉じたときにアクティブにするタブ……最後に選択したタブ、リンクもとのタブ、左隣のタブ
ucjsNavigation.uc.jsは、最後に選択したタブをアクティブにするための関数などが書かれたスクリプト。設定するところはとくにありません。
新しいタブを開く位置については、すでに「browser.tabs.insertRelatedAfterCurrent」で設定しました。したがって、これらのスクリプトから、「タブを閉じたとき、最後に選択したタブをアクティブにする」という処理の部分を抜き出して、1つのスクリプトにまとめておきましょう。
必要な部分は、以下の2カ所(折り返しなしの行番号です)。
- ucjsNavigation.uc.js……351〜401行目(var tabFocusManager = {...} などと宣言しなおす。「focusPrevSelectedTab」は不要)
- openTabsWhere_whichTabSelectWhenCloseTab.uc.js……510〜515行目(「TabClose」でよびだす関数「OTN_onTabClose」の最後に「tabFocusManager.focusLastSelectedTab();」を追加して、「}」で閉じる)
// ==UserScript== // @name ActivateLastSelectedTabWhenCloseTab.uc.js // @version 1.0.0.0 // @description タブを閉じたとき、最後に選択していたタブにフォーカス // @author あなたのなまえ // @namespace // @include chrome://browser/content/browser.xul // @compatibility Firefox 20.0+ // @note ucjsNavigation.uc.js (Alice0775) // @note openTabsWhere_whichTabSelectWhenCloseTab.uc.js (Alice0775) // @note きりばりしただけ // ==/UserScript== (function() { // from ucjsNavigation.uc.js var tabFocusManager = { _tabHistory: [], _tabHistory2: [], focusLastSelectedTab: function() { var currentPanel = gBrowser.mCurrentTab.getAttribute('linkedpanel'); while (this._tabHistory.length > 1) { var panel = this._tabHistory.pop(); this._tabHistory2.push(panel); if (this._tabHistory2.length > 32) this._tabHistory2.shift(); if (panel == currentPanel) continue; var tab = this.getTabFromPanel(panel); if (!tab || tab.getAttribute('hidden')) continue; gBrowser.selectedTab = tab; break; } }, getTabFromPanel: function(panel) { for(var i = 0; i < gBrowser.mTabs.length; i++) { var tab = gBrowser.mTabs[i]; if (tab.getAttribute('linkedpanel') == panel) { return tab; break; } } return null; }, handleEvent: function(event) { this._tabHistory.push(event.target.getAttribute('linkedpanel')); if(event.type != 'TabSelect') this._tabHistory2 = [event.target.getAttribute('linkedpanel')]; if (this._tabHistory.length > 32) this._tabHistory.shift(); } } // from ucjsNavigation.uc.js if (gBrowser.selectedTab && gBrowser.selectedTab.hasAttribute('linkedpanel')) tabFocusManager._tabHistory = [gBrowser.selectedTab.getAttribute('linkedpanel')]; gBrowser.tabContainer.addEventListener('TabSelect', tabFocusManager, false); gBrowser.tabContainer.addEventListener('TabOpen', tabFocusManager, false); // from openTabsWhere_whichTabSelectWhenCloseTab.uc.js gBrowser.tabContainer.addEventListener('TabClose', CloseTabFunc, false); function CloseTabFunc(aEvent) { if(aEvent.originalTarget != gBrowser.selectedTab) { return; } tabFocusManager.focusLastSelectedTab(); } })();
◆閉じたタブの一覧を表示する
Alice0775さんの「UndoListInTabmenuToo.uc.js」を使うと、最近閉じたタブや最近閉じたウィンドウの一覧が表示できるようになります。
一覧を表示するのは、最初の設定では、タブコンテキストメニューだけ。設定を変えることで、ページを右クリックしたときのコンテキストメニューでも一覧を表示できるようになります。設定は、スクリプトの最初のほうにあるので、自分でかきかえてください。
◆閉じたタブを中クリックで開く
oflowさんのスクリプト「middle-click-undo-close-tab.uc.js」をどうぞ。もっとも、「oflow/userchromejs」にあるもののほうが新しくて、すこしだけ機能も追加されています。
◆こまかい修正
【zzzz-removeTabMoveAnimation.uc.js】
タブをドラッグするときのドロップインジケーターの表示位置が気になりました。ドラッグするタブが何段目にあっても、ドロップインジケーターはタブバーのいちばん下(ブラウザー画面のいちばん上)に表示されるんですね。
そんなわけで、自分用としては、オリジナルのスクリプトを以下のようにかきかえて、ドロップインジケーターのy座標を指定するようにしています(かきかえたところは、太字にしています)。
var rect = tabStrip.getBoundingClientRect(); var newMargin; var newMarginY; if (pixelsToScroll) { // if we are scrolling, put the drop indicator at the edge // so that it doesn't jump while scrolling let scrollRect = tabStrip.scrollClientRect; let minMargin = scrollRect.left - rect.left; let maxMargin = Math.min(minMargin + scrollRect.width, scrollRect.right); if (!ltr) [minMargin, maxMargin] = [this.clientWidth - maxMargin, this.clientWidth - minMargin]; newMargin = (pixelsToScroll > 0) ? maxMargin : minMargin; } else { let newIndex = this._getDropIndex(event); if (newIndex == this.childNodes.length) { let tabRect = this.childNodes[newIndex-1].getBoundingClientRect(); if (ltr) newMargin = tabRect.right - rect.left; else newMargin = rect.right - tabRect.left; newMarginY = tabRect.bottom - rect.bottom; } else { let tabRect = this.childNodes[newIndex].getBoundingClientRect(); if (ltr) newMargin = tabRect.left - rect.left; else newMargin = rect.right - tabRect.right; newMarginY = tabRect.bottom - rect.bottom; } } ind.collapsed = false; newMargin += ind.clientWidth / 2; if (!ltr) newMargin *= -1; //ind.style.transform = "translate(" + Math.round(newMargin) + "px)"; ind.style.transform = "translate(" + Math.round(newMargin) + "px, " + Math.round(newMarginY) + "px)"; ind.style.MozMarginStart = (-ind.clientWidth) + "px"; }; gBrowser.tabContainer.addEventListener("dragover", gBrowser.tabContainer._onDragOver, true);
あまりよくわかってないんですが、とりあえず動作しているようです。
ついでに、タブのアニメーションをしない設定にしておきましょう。
/* タブのアニメーション true: アニメーションする (デフォルト) false: アニメーションしない */ user_pref("browser.tabs.animate", false);
【UndoListInTabmenuToo.uc.js】
こんなところが気になりました。
- メニュー項目の一部が英語になっている(「Recently Closed Windows」「Clear undo close tab list」)
- 「最近閉じたウィンドウの一覧をクリア」というメニュー項目がない
オリジナルのスクリプトをかきかえてもいいんですが、ここでは、タブコンテキストメニューのほうだけを修正するスクリプトを作ってみました。メニュー項目の英語表記を修正し、「[最近閉じたウィンドウ] をクリア」というメニュー項目を追加し、「[最近閉じたタブ] をクリア」の処理内容をさしかえています。かならず、UndoListInTabmenuToo.uc.jsといっしょに使ってください。
// ==UserScript== // @name ReviseClosedTabsWindowsMenu.uc.js // @version 1.0.0.0 // @description UndoListInTabmenuToo.uc.jsのタブコンテキストメニューの一部を修正 // @author あなたのなまえ // @namespace // @include chrome://browser/content/browser.xul // @compatibility Firefox 20.0+ // @note // ==/UserScript== (function() { // メニュー項目の文字 // UTF-8 -> UTF-16へ変換する var unicodeConverter = Components.classes['@mozilla.org/intl/scriptableunicodeconverter']. createInstance(Components.interfaces.nsIScriptableUnicodeConverter); // このスクリプトの文字コード unicodeConverter.charset = 'UTF-8'; var labelRecentlyClosedWindows = unicodeConverter.ConvertToUnicode('最近閉じたウィンドウ'); var labelClearClosedTabs = unicodeConverter.ConvertToUnicode('[最近閉じたタブ] をクリア'); var labelClearClosedWindows = unicodeConverter.ConvertToUnicode('[最近閉じたウィンドウ] をクリア'); // タブのコンテキストメニューにイベントを追加: popupshowing gBrowser.tabContextMenu.addEventListener('popupshowing', replaceRecentlyClosedWindowsMenuLabel, false); // メニュー項目のさしかえ function replaceRecentlyClosedWindowsMenuLabel(aEvent) { // コンテキストメニューがポップアップしたとき if (aEvent.target == this) { // Recently Closed Windows var aMenu = document.getElementById('historyUndoWindowMenu3'); var aText = aMenu.getAttribute('label'); if (aText != labelRecentlyClosedWindows) { aMenu.setAttribute('label', labelRecentlyClosedWindows); } // [最近閉じたウィンドウ] [最近閉じたタブ] をポイントしたとき } else { // Closed Tabs var aMenu = document.getElementById('tabContextUndoList'); var aPopup = aMenu.menupopup; aPopup.addEventListener('popupshown', replaceClearClosedTabsMenuLabel, false); // Closed Windows var aPopup = document.getElementById('historyUndoWindowPopup3'); aPopup.addEventListener('popupshown', addClosedWindowsMenu, false); } } // replaceClearClosedTabsMenuLabel function replaceClearClosedTabsMenuLabel(aEvent) { var aMenu = document.getElementById('tabContextUndoList'); var aPopup = aMenu.menupopup; aPopup.removeEventListener('popupshown', replaceClearClosedTabsMenuLabel, false); aPopup.lastChild.setAttribute('label', labelClearClosedTabs); aPopup.lastChild.addEventListener('command', function() { let ss = Cc['@mozilla.org/browser/sessionstore;1']. getService(Ci.nsISessionStore); var aCount = ss.getClosedTabCount(window); while (aCount > 0) { ss.forgetClosedTab(window, 0); aCount--; } }, false); } // addClosedWindowsMenu function addClosedWindowsMenu(aEvent) { var aPopup = document.getElementById('historyUndoWindowPopup3'); aPopup.removeEventListener('popupshown', addClosedWindowsMenu, false); var aSep = document.createElement('menuseparator'); aPopup.appendChild(aSep); var aItem = document.createElement('menuitem'); aPopup.appendChild(aItem); aItem.setAttribute('label', labelClearClosedWindows); aItem.setAttribute('accesskey', 'C'); aItem.addEventListener('command', function() { let ss = Cc['@mozilla.org/browser/sessionstore;1']. getService(Ci.nsISessionStore); var aCount = ss.getClosedWindowCount(); while (aCount > 0) { ss.forgetClosedWindow(0); aCount--; } }, false); } })();
*
自分が必要とするタブ機能を、タブ関連のアドオンなしでなんとか実現してみました。自己満足といえば自己満足ですね(笑)。ファイアーフォックスの動作がことさら軽快になったとは感じられませんが、まあ、ひとつの実験ということで。
おしまいに、いろいろな設定を書いておきます。メニューの[ツール]→[オプション]から設定できるものもありますが、一括で設定できると便利でしょう(たぶん)。
//------------------------------------------------------------------- // タブ //------------------------------------------------------------------- /* タブバーをツールバーのうえに true: 表示する (デフォルト) false: 表示しない */ user_pref("browser.tabs.onTop", false); /* 最後のタブを閉じたとき true: ウィンドウを閉じる (デフォルト) false: ウィンドウを閉じない */ user_pref("browser.tabs.closeWindowWithLastTab", false); /* 「新しいタブ」ページ about:newtab true: 有効 (デフォルト) false: 無効 */ user_pref("browser.newtabpage.enabled", false); user_pref("browser.newtab.url", "about:blank"); /* 最近閉じたタブの数 10: (デフォルト) */ user_pref("browser.sessionstore.max_tabs_undo", 10); /* 同時に複数のタブを閉じるとき true: 確認する (デフォルト) false: 確認しない */ user_pref("browser.tabs.warnOnCloseOtherTabs", false); /* 複数のタブがあるウィンドウを閉じるとき true: 確認する (デフォルト) false: 確認しない */ user_pref("browser.tabs.warnOnClose", false); /* タブをたくさん開いたときに true: 警告する (デフォルト) false: 警告しない */ user_pref("browser.tabs.warnOnOpen", false); /* リンクから新しいタブを開いたとき true: バックグラウンドで (デフォルト) false: フォアグラウンドで */ user_pref("browser.tabs.loadInBackground", false); //------------------------------------------------------------------- // プライバシー・セキュリティ関連 //------------------------------------------------------------------- /* URLバーのhttp://を表示しない true: 有効 (デフォルト) false: 無効 */ user_pref("browser.urlbar.trimURLs", false); /* トラッキング拒否通知 true: 有効 false: 無効 (デフォルト) */ user_pref("privacy.donottrackheader.enabled", true); /* cookieの扱い 0: すべてのcookieをうけいれる (デフォルト) 1: もとサイトからのcookieだけうけいれる (サードパーティーcookieはうけいれない) 2: すべてのcookieをうけいれない 3: 過去にうけいれた場合にかぎり、サードパーティーcookieをうけいれる */ user_pref("network.cookie.cookieBehavior", 1); /* 各種プロトコルを外部のアプリケーションで処理するとき true: 警告する (デフォルト) false: 警告しない */ user_pref("network.protocol-handler.warn-external-default", true); /* 各プロトコルを外部アプリケーションで処理するとき true: 警告する false: 警告しない (デフォルト) */ user_pref("network.protocol-handler.warn-external.mailto", true); user_pref("network.protocol-handler.warn-external.news", true); user_pref("network.protocol-handler.warn-external.nntp", true); user_pref("network.protocol-handler.warn-external.snews", true); /* さきよみ機能 true: 有効 (デフォルト) false: 無効 */ user_pref("network.prefetch-next", false); /* 位置情報通知機能 true: 有効 (デフォルト) false: 無効 */ user_pref("geo.enabled", false); /* 「新しいタブ」ページのサムネールを保存しない true: 保存しない false: 保存する (デフォルト) */ user_pref("browser.pagethumbnails.capturing_disabled", true); /* 正常終了しなかった場合のセッションの復元機能 true: 有効 (デフォルト) false: 無効 */ user_pref("browser.sessionstore.resume_from_crash", false); /* モジラへのデータ送信機能 true: 有効 (デフォルト) false: 無効 */ user_pref("datareporting.policy.dataSubmissionEnabled", false); /* データ送信のポップアップ表示 true: 有効 (デフォルト) false: 無効 */ user_pref("datareporting.healthreport.logging.consoleEnabled", false); /* ヘルスレポート作成機能 true: 有効 (デフォルト) false: 無効 */ user_pref("datareporting.healthreport.service.enabled", false); //------------------------------------------------------------------- // JavaScript関連 //------------------------------------------------------------------- /* ウィンドウのフォーカスきりかえ true: 無効 (デフォルト) false: 有効 */ user_pref("dom.disable_window_flip", true); /* ポップアップウィンドウの移動・サイズ変更 true: 無効 false: 有効 (デフォルト) */ user_pref("dom.disable_window_move_resize", true); /* コンテキストメニューの無効化・変更 true: 有効 (デフォルト) false: 無効 */ user_pref("dom.event.contextmenu.enabled", false); //------------------------------------------------------------------- // ダウンロード関連 //------------------------------------------------------------------- /* ダウンロード終了時のダウンロードマネジャー true: 閉じる false: 閉じない (デフォルト) */ user_pref("browser.download.manager.closeWhenDone", true); /* ダウンロード完了時の通知 true: 有効 (デフォルト) false: 無効 */ user_pref("browser.download.manager.showAlertOnComplete", false); //------------------------------------------------------------------- // いろいろ //------------------------------------------------------------------- /* blinkタグ (文字の点滅) true: 有効 (デフォルト) false: 無効 */ user_pref("browser.blink_allowed", false); /* marqueeタグ (文字のスクロール) true: 有効 false: 無効 (デフォルト) */ user_pref("browser.display.enable_marquee", false); /* 画像の自動縮小表示 true: 有効(デフォルト) false: 無効 */ user_pref("browser.enable_automatic_image_resizing", false); /* http通信の最大接続数 48: (デフォルト) Firefox 6.0で「256」などという数値にされたので、念のため */ user_pref("network.http.max-connections", 48); /* スムーズスクロール true: 有効 (デフォルト) false: 無効 */ user_pref("toolkit.scrollbox.smoothScroll", false); /* たてキースクロールの行数 17.0以降 3: (デフォルト) */ user_pref("toolkit.scrollbox.verticalScrollDistance", 6); /* 検索バーにフォーカスがあるときの検索エンジン名 19.0以降 true: 表示する (デフォルト) false: 表示しない */ user_pref("dom.placeholder.show_on_focus", false);