読者です 読者をやめる 読者になる 読者になる

FirefoxにSpeed Dialを載せたい。

Firefoxにはabout:newtabというものがあって、ここにはよく訪れるサイトの一覧が表示されるのだけど、使い辛い。

追記13/07/08:about:newtab を Speed Dial に変えるスクリプト ←これは良さげでした。

 

Opera移民なので、FirefoxでもSpeed Dialを使いたい。

ググってみたところ、アドオンを発見

でもアドオンは入れたくない。Greasemonkeyで何とかしたいと思う。

userscript.orgで検索してみたところ発見

ださい…というか微妙。

上記user.jsによれば、Firefoxはabout:blankをJavaScriptで書き換えて、そのままSpeed Dialにできるらしい。JavaScript便利。Operaでも3枠しか使ってなかったし、別に画像やアップデート機能は必要ないのでもっと簡潔なのがほしい。

user.jsの中身を見たところ、メイン部分はHTMLを挿入してるだけだし、簡単そうなので自作してみる。とりあえず、そのままHTMLを書き出すことにする。

// ==UserScript==
// @name    about:blankでSpeed Dial代用
// @include   about:blank?sd
// ==/UserScript==
var e = document.createElement('DIV');
e.setAttribute('id','x');
e.innerHTML="<a id=a href=https://mail.google.com/mail/u/0/?hl=ja>GMail</a><a id=b href=http://reader.livedoor.com/>livedoor reader</a><a id=c href=http://www.tumblr.com/dashboard>Tumblr dashboard</a><a id=d></a>";
document.body.appendChild(e);
window.focus();

f:id:k9q:20130409194347j:plain

できた。

about:configやabout:addonsへのハイパーリンクも貼りたかったんだけど、どうやらabout:???はリンクとして機能しないので無理だった。

最後にwindow.focus();を付けているのは、Firefox13以降だと新しいタブはデフォルトではロケーションバーにフォーカスが当たっているので、ウィンドウにフォーカスさせるため。Speed Dialを使いたいのにロケーションバーにフォーカスがあっても困る。

これでは見た目がひどいのでStylishで肉付けして、見た目を改善してみる。

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url("about:blank?sd"){
:root{margin:0px;background:url("画像");background-color:#101010;background-position:center;background-attachment:fixed;background-repeat:no-repeat;background-size:cover;}
a{text-decoration:none!important;font-family:sans-serif!important;font-size:x-large!important;color:#eee!important;}
a:hover{color:#ffb019!important;}
#x>a:empty{background-color:rgba(25,25,25,0.44)!important;}
#a:hover,#b:hover,#c:hover,#d:hover{background-color:rgba(237,136,78,0.3);}
#x{margin:11% auto;width:600px;font-weight:bold;text-shadow:1px 1px 2px #544,2px 2px 3px #113,3px 3px 18px #ffc;}
#a,#b,#c,#d{display:block;margin:4%;width:200px;height:17%;padding:85px 4% 8px 4%;border-radius:30px;text-align:center;background-color:rgba(25,25,25,0.44);float:left;}
a:hover{background-image:url("画像");background-repeat:no-repeat;background-position:210% 210%;}
#x>a:empty{background-image:none;}
}

f:id:k9q:20130409194346j:plain

思ったより相当マシになった。こんなんでわりと出来るのね。

 

あと、Firefoxはabout:blankの末尾に?hogehogeなどを付けると、それぞれ別のURLとして認識するので「about:blank?sd」をSpeed Dial的な何かとして用いることにした。

あとはabout:configをuser.jsで書き換えて、新しいタブで開かれるページをabout:blank?sdに、それと、about:newtabは邪魔なので無かったことにする。

//about:blankでSpeed Dial
user_pref("browser.newtab.url", "about:blank?sd");
//about:newtabを使わない
user_pref("browser.newtabpage.enabled", false);
//about:newtab用のページのサムネイルを作成しない
user_pref("browser.pagethumbnails.capturing_disabled", true);

こうして、新しいタブをSpeed Dial的な何かとして使えるようになった。まあ、画像の自動更新とか無いけど構わないし、アドオンを入れるよりも普通に軽いし便利。


Firefoxの強みがわかった気がする。
XULで作られてるので「HTMLとCSSを多少いじれる程度の能力」があるという、よくいる「むかし同人サイトを作ったことがある人」レベルの知識でも、かなりのカスタマイズが出来る点だ。

 

FirefoxのUIの一番簡単なカスタマイズは、主にDOM Inspectorで要素を調べながら、CSSを載せる作業になるのだけど、作業中に10代の時に同人サイトを作っていた時の懐かしい感覚がリフレインした。

ChromeOperaにはここまでの簡単さとカスタマイズ性は無いと思う。Firefoxは裾野が広いですね。

 * * *

パステルにしてみたり。

f:id:k9q:20130419215150p:plain