parsecのメモ

 | 

April 11(Sun), 2010

Firefox3.6のプロファイルづくり@Mac

Firefoxの3.6のバージョンが公開されて、ずいぶん経っているが、最近ようやく以前のバージョン時と同様の振る舞いができるようになったのでメモをとっておく。

はてブFirefoxタグの記事も多くなり、「この設定どうやるんだったっけか」なことが何度もあったし、 週1のでしかネットに繋がらない環境にいてScrapbookに溜め込んでいたのが整理しきれてないし、 Macに移行していらなくなった設定や、逆に必要になった設定項目とかもう細かすぎて把握しきれてない。

I.アドオン

f:id:parsec:20100411010724p:image

1.削除したアドオン

Favicon Picker3はいつの間にか使わなくなってた。

Macに移ったことでOS側の挙動で申し分ないスムーズスクロールになりYet Another Smooth Scrollingとお別れ。

IME and Dimentionについては、Macで全く動かなくなってしまった。

2.新しく入れたアドオン

・それ以前に導入していたIME OFF を復活させる。IME and Dimentionのように色による英数/平仮名の識別はできないけれど、テキストボックス等にフォーカスが移る度に自動で英数入力に切り替えてくれる。ロケーションバーでのクイックサーチ("g firefox"でFirefoxグーグル検索とか)を多用する身としてはこれだけの機能で十分。IMEOFF導入のためにabout:configも少しいじった。

・新しくはてなブックマークを導入

・TabVistedについては後述

II.greasemonkey スクリプト

autopagerizeの動作もおかしくなっており、グリモンを導入する意味の半分ぐらいがなくなっていたが、あとで修正版のコードができてた。

googleの検索結果にファビコンを表示。

III.userchrome.jsスクリプト

主にマウスジェスチャーのためのもの


IV.テーマ

相変わらずClassic CompactインストールMacになって少しは野暮ったくないデザインになるかと思ったけど、相変わらずの無駄なスペース取りまくりのデフォルトのテーマには逆にびっくりした。

Personaはボタンの形がデフォルトテーマのままだったので使うことは当分ない

V.about:config設定

手動で設定したものを書いていく。

今回から、3.6バージョンに対応してないIMEOFFのために必要な記述が増えた。

1.タブの閉じるボタンをすべて消す

browser.tabs.closeButtons:2

2.IME offを無理やりインストールするために、2つの値を新規作成

extensions.checkCompatibility.3.6:false[新規作成]
extensions.checkUpdateSecurity:false[新規作成]

3.既読リンクの色を変えないようにする

browser.visited_color:#ooooEE

4.テキストをダブルクリックした際に空白を含めない

layout.word_select.eat_space_to_next_word:false

5.タブキーをおした際にテキストフィールドにのみ移動させる

accessibility.tabfocus:1(新規作成)

VI.userchrome.css設定

1.Macに以降して不要になったのは、メニューバーの項目非表示の設定など。外部ソフトのYourPresentAppsを使えば、全画面表示になるし、マウスを上下端に持ってくるときだけメニューバー、及びDockを表示するようにできる。

2.反対にMacになって必要になった設定は、ファビコンの表示を有効にする記述。以下を参考にする。

3.未読タブのフォント変更には、以前まで使用していたselectedというNodeの仕様が変更になっていたので、例えば3つタブのうち真ん中のタブにフォーカスが入っている場合、DOM imspectorでタブの状態を見ると、左のタブにはbeforeselected、真ん中のタブにはselected、右のタブにはafterselectedみたいなNodeが現れるようになっていて 、以前にタブを開いていたかどうかなんて全く関係なくなってた。

いろいろ探してみたところ、そのものズバリtab-tabbrowserクラスにvisitedというNode を追加するだけのTabvistedというアドオンがみつかったので、それをインストールした。

ここのページに到達するまでに結構時間がかかったけれど、多分みなTab mix Plusで全部すませているのだろうな。

4.はてなの誰からも手紙が来てないけどFirefox拡張Hatena Bookmarkベータを使ってみるCommentsAdd Starに書いたあったリストのシマウマ化も参考にscrapbookはてなブックマークサイドバーを見やすくしてみた。

5.多段タブ動作が3.6になっておかしくなってしまったのでこれまで非表示にしていた新しいタブボタンをタブバーに表示する。

以下userchrome.cssの中身

/*コンテキストメニュー消去*/
#context-back,
#context-openlink,
#context-openlinkintab,
#context-bookmarklink,
#context-copyemail,
#context-sep-open,
#context-forward,
#context-reload,
#context-stop,
#context-selectall,
#context-sendpage,
#context-sendimage,
#context-sendlink
/*#context-searchselect*/{
display: none !important;
}

/*ロケーションバーのドロップマーカー(▼印)を消す*/
#urlbar dropmarker image{display:none !important;}

/* 進む、ボタンを非表示 */
#forward-button {
display: none !important;
}

/*「最近表示したページ」ボタンを非表示*/
#back-forward-dropmarker{
display: none !important;
}
/*スターボタン非表示*/
#star-button {display: none !important;}

/*ブックマークツールバーのファビコンを表示する*/
toolbarbutton.bookmark-item:not([container="true"]) > .toolbarbutton-icon {
  padding: 0px !important;
  margin-right: -2px !important;
  width: 16px;
  height: 16px;
  display: inline !important;
}

/*"新しいタブ"を表示を消す(多段タブを実現するにはこのボタンを表示させないと
ダメみたい)*/
/*.tabs-newtab-button {display: none !important;}*/

/*タブを一覧表示を消す*/
.tabs-alltabs-button {
display:none !important;
}

/*現在のタブを太字にしない*/
.tabbrowser-tab[selected="true"] {
  font-weight: normal !important;
}

/*未読のタブの色を変更する(要Tabselected)*/
.tabbrowser-tab:not([visited]) {
 color: tomato !important;
}

/*Scrapbook:+のマークをツリーに表示させない*/
#sbTree treechildren::-moz-tree-twisty {
	-moz-appearance: none !important;
	padding-right: 0px !important;
	padding-top: 0px !important;
	width: 0px !important;
	list-style-image: none !important;
}

/*Scrapbookをシマウマ化*/
#sbTree treechildren::-moz-tree-row(even) {background-color:#CDE4FA !important;}

/*Scrapbook:右クリックメニューのアイコンを消す*/
menu#ScrapBookContextMenu1,
menuitem#ScrapBookContextMenu2,
menu#ScrapBookContextMenu3,
menuitem#ScrapBookContextMenu4,
menu#ScrapBookContextMenu5,
menuitem#ScrapBookContextMenu6,
menu#ScrapBookContextMenu7,
menuitem#ScrapBookContextMenu8,
popup#sbPopup menuitem {
	list-style-image: none !important;
}
/*メニューバーやタブバーに、画像を使用しない*/
menubar, toolbox, toolbar, .tabbrowser-tabs{
background-image:none !important;
}

/*はてブ ブックマークツリーをシマウマ化 */
#hBookmarkSidebar #bookmark-tree treechildren::-moz-tree-row(even) {background-color:#CDE4FA !important;}

/*はてブ toolbar-buttonのタイプ変更後の影響を抑える */
#hBookmark-toolbar-sidebar-button {
  margin-left: -5px !important;
  margin-right: -5px !important;
}

/*タブの多段表示*/
tabbrowser .tabbrowser-arrowscrollbox scrollbox {
max-height:none !important;
display:inline !important;}
tabbrowser .tabbrowser-arrowscrollbox scrollbox>box {
display:inline !important;}
tabbrowser .tabs-stack>vbox>hbox>stack,
tabbrowser .tabs-stack>vbox>hbox>hbox {
height:0 !important;}
tabbrowser .tab-drop-indicator-bar,
tabbrowser *[class^="scrollbutton"]{
display:none !important;}

VII.クイックサーチ

基本的に登録したい検索ボックスを右クリック→「この検索にキーワードを設定」で適当なショートカットコマンドを入力すればクイックサーチに登録できる。

しかし、amazon検索だけが文字コードの問題で一筋縄では機能しなかったので

以下を参考にしてして用をなすようになった。

グーグル(15年前までの初クロール日時付き)(g)

http://www.google.co.jp/search?hl=ja&q=%s&lr=&safe=off&as_qdr=y15

グーグル画像検索(gi)

http://images.google.co.jp/images?hl=ja&q=%s&gbv=2

グーグルマップ(gm)

http://maps.google.co.jp/maps?f=q&hl=ja&geocode=&q=%s&mrt=all

・GoogleScholar(gs)

http://scholar.google.com/scholar?q=%s&hl=ja&lr=&lr=

うたまっぷ アーティスト検索(uma)

http://www.utamap.com/searchkasi.php?searchname=artist&sortname=1&pattern=1&word=%s&act=search

うたまっぷ 曲名検索(ums)

http://www.utamap.com/searchkasi.php?searchname=title&sortname=1&pattern=1&word=%s&act=search

・Widipedia(w)

http://ja.wikipedia.org/wiki/%E7%89%B9%E5%88%A5:Search?search=%s

Youtube(yt)

http://www.youtube.com/results?search_query=%s

ニコニコ動画(niko)

http://www.nicovideo.jp/search/search?ref=top&s=%s

・音楽検索(mu)

http://www.google.com/search?q=-inurl%3A(htm%7Chtml%7Cphp)+intitle%3A%22index+of%22+%2B%22last+modified%22+%2B%22parent+directory%22+%2Bdescription+%2Bsize+%2B(wma%7Cmp3%7Cogg)+%22%s%%22

Sagool(s)

http://sagool.jp/s?q=%s

2ch検索(2)

http://find.2ch.net/?STR=%s

NTT-X(ntt)

http://nttxstore.jp/freeSearch/searchName.asp?FM=99&FREE_WORD=%s

・Gigagizne(giga)

http://www.google.co.jp/search?hl=ja&q=site%3Agigazine.net%2F+%s&lr=

・PandraTV(pant)

http://search.pandora.tv/?query=kano%20kon?tab=program&langsort=&query=%s

・完璧画像検索(e)

http://kanpeki.inucara.net/search?keyword=%s

価格.com(kkk)

http://search.kakaku.com/ksearch/search.aspx?query=%s

・歌詞ゲット 曲名検索(kgs)

http://www2.kget.jp/result/index.aspx?c=0&a=&t=%s&b=&f=

・歌詞ゲット 歌手検索(kga)

http://www2.kget.jp/result/index.aspx?c=0&a=%s&t=&b=&f=

flickr(fl)

http://www.flickr.com/search/?q=%s

Amazon(a)

http://www.amazon.co.jp/s/?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&url=search-alias%3Daps&field-keywords=%s

VIII.ブックマークレット

普段使うものと、周りの人をびっくりさせる用とに分かれる。javascriptが有効でないとバルスなどは機能してくれない。

こちらにもショートカットコマンドを設定しておく

・画像のみ表示

javascript:Ai7Mg6P=%27%27;for%20(i7M1bQz=0;i7M1bQz%3Cdocument.images.length;i7M1bQz++)%7BAi7Mg6P+=%27%3Cimg%20src=%27+document.images%5Bi7M1bQz%5D.src+%27%3E%3Cbr%3E%27%7D;if(Ai7Mg6P!=%27%27)%7Bdocument.write(%27%3Ccenter%3E%27+Ai7Mg6P+%27%3C/center%3E%27);void(document.close())}else{alert(%27No%20images!%27)}

CSS on/off

javascript:(function(){var%20a=document.styleSheets;for%20(i=0;i<document.styleSheets.length;i++)%20{if(a.item(i)){with(a.item(i)){if(disabled==1){location.reload();}else{void(disabled=1);}}}}})();

・画像非表示

javascript:if%20(document.images.length<1){alert('%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82')}else{for(jK6bvW=0;jK6bvW<document.images.length;jK6bvW++){void(window.document.images[jK6bvW].src='missing');}void(null)}

・シェイク

javascript:(function(){var%20d=document;%20var%20s=d.createElement(%22script%22);%20s.charset=%22UTF-8%22;%20s.src=%22http://tech.nitoyon.com/meltdown/meltdown.js?%22+(new%20Date()).getTime();%20d.body.appendChild(s)})();

グリッド表示

javascript:(function(){var%20n='GridOverlay2InitialJS';var%20d=document;var%20b=d.getElementsByTagName('body')[0];var%20o=d.getElementById(n);if%20(!o){var%20s=d.createElement('scr'+'ipt');s.charset='UTF-8';s.language='javascr'+'ipt';s.type='text/javascr'+'ipt';s.id='GridOverlay2InitialJS';s.src='http://web-tan.forum.impressrd.jp/files/grid_overlay2/layoutGridOverlay.js?d=’+(new%20Date()).getTime();b.appendChild(s);}else{GridOverlay2i.DrawAll();}})();

ラピュタ

javascript:(function(){scroll(0,0);H='http://hamachiya.com/’;D=document;D.body.appendChild(B=D.createElement('b'));with(B.style){position='absolute';color='#0F0';fontSize='192px';top=0};S=0;F=Math.floor;R=Math.random;Q=new%20Image;Q.src=H+'g1.gif';L=function(){var%20X=F(R()*vw);var%20Y=0;var%20r=F(R()*9)+3;var%20V=Z(X,Y);D.body.appendChild(V);var%20f=function(){if(Y+r<vh){V.style.top=(Y+=r)+'px'}else{V.style.top=vh+'px';V.src=H+'g2.gif';setTimeout(function(){V.src=H+'g3.gif';V.onclick=function(){D.body.removeChild(V);B.innerHTML=++S}},550);clearInterval(t);}};var%20t=setInterval(f,40)};Z=function(x){var%20e=D.createElement('img');e.src=Q.src;with(e.style){position='absolute';left=x+'px';top=0};return%20e;};var%20vw,vh;Q.onload=function(){vw=(self.innerWidth||D.documentElement.clientWidth||D.body.clientWidth)-Q.width;vh=(self.innerHeight||D.documentElement.clientHeight||D.body.clientHeight)-Q.height;setInterval(L,800);Q.onload={}}})()

バルス

javascript:(function(){var%20s=document.createElement('script');s.charset='UTF-8';var%20da=new%20Date();s.src='http://www.rr.iij4u.or.jp/~kazumix/d/javascript/meltdown/meltdown.js?’+da.getTime();document.body.appendChild(s)})();

・うざい色を消す

javascript:(function(){var%20newSS,%20styles='*%20{%20background:%20white%20!%20important;%20color:%20black%20!important%20}%20:link,%20:link%20*%20{%20color:%20#0000EE%20!important%20}%20:visited,%20:visited%20*%20{%20color:%20#551A8B%20!important%20}';%20if(document.createStyleSheet)%20{%20document.createStyleSheet(%22javascript:'%22+styles+%22'%22);%20}%20else%20{%20newSS=document.createElement('link');%20newSS.rel='stylesheet';%20newSS.href='data:text/css,'+escape(styles);%20document.documentElement.childNodes[0].appendChild(newSS);%20}%20})();

IX.userContent.css

/*PDFアイコン表示*/
a[href$=".pdf"]:after {
content: url("moz-icon://.PDF?size=16");
}
a[href$=".PDF"]:after {
content: url("moz-icon://.PDF?size=16");
}

/*ZIPアイコン表示*/
a[href$=".zip"]:after {
content: url("moz-icon://.ZIP?size=16");
}

/*jpgアイコン表示*/
a[href$=".jpg"]:after {
content: url("moz-icon://.JPG?size=16");
}

/*LZHアイコン表示*/
a[href$=".lzh"]:after {
content: url("moz-icon://.LZH?size=16");
}

/*PNGアイコン表示*/
a[href$=".png"]:after {
content: url("moz-icon://.PNG?size=16");
}


/*exeアイコン表示*/
a[href$=".exe"]:after {
content: url("moz-icon://.EXE?size=16");
}

/*wmvアイコン表示*/
a[href$=".wmv"]:after {
content: url("moz-icon://.WMV?size=16");
}

/*rmアイコン表示*/
a[href$=".rm"]:after {
content: url("moz-icon://.RM?size=16");
}

/*jsアイコン表示*/
a[href$=".js"]:after {
content: url("moz-icon://.JS?size=16");
}

/*SWFアイコン表示*/
a[href$=".swf"]:after {
content: url("moz-icon://.SWF?size=16");
}

/*dmgアイコン表示*/
a[href$=".swf"]:after {
content: url("moz-icon://.dmg?size=16");
}

body{overflow:visible !important;}

X.その他スクリプト

前回の設定で動かなくなってしまったタブを閉じるスクリプトを修正。これらをkeyconfigとマウスジェスチャに登録する。lasttabというNodeがあったので、それを用いればらくちんにかけた。というか以前のでどうしてうまくいってたんだろう?

//左のタブへ
gBrowser.mTabContainer.advanceSelectedTab(-1, true);
//右のタブへ
gBrowser.mTabContainer.advanceSelectedTab(+1, true);
//タブを閉じる
var tabs = gBrowser.mTabContainer.childNodes;
	for (var i = tabs.length - 1; tabs[i] != gBrowser.mCurrentTab; i--){}
	
 	if(tabs.length > 1){
   gBrowser.removeTab(tabs[i]);
}
//上にスクロール
goDoCommand("cmd_scrollPageUp");
//戻る
BrowserBack();
//進む
BrowserForward();
----------<以下マウスジェスチャ用>----------------
// 右のタブをすべて閉じる
case "DRDR": var tabs = gBrowser.mTabContainer.childNodes;
for (var i = tabs.length - 1; tabs[i] != gBrowser.selectedTab; i--)
{
    gBrowser.removeTab(tabs[i]);
} break;
// 左のタブをすべて閉じる
case "DRDL":var tabs = gBrowser.mTabContainer.childNodes;
for (var i = tabs.length - 1; tabs[i] != gBrowser.mCurrentTab; i--){}
for (i--; i >=0 ; i--){
    gBrowser.removeTab(tabs[i]);
}break;

XI.user.js

ここを参考に記述。

user_pref("browser.cache.memory.capacity", 65536);
user_pref("browser.cache.disk_cache_ssl", true);
user_pref("browser.xul.error_pages.enabled", true);
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 3000000);
user_pref("content.maxtextrun", 8191);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 100000);;
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8);
user_pref("network.http.proxy.pipelining", true);
user_pref("nglayout.initialpaint.delay", 100);
user_pref("plugin.expose_full_path", true);
user_pref("signed.applets.codebase_principal_support", true);

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/parsec/20100411/1270995829
 |