少し前に、Vimperator タブ非表示へを書いたとこだが、
Firefox4 Vimperator3.0preでは通用しない。

もうリリースだろうけど、まだどうなるか分からない。
現段階でVimperator3.0preでbuftabs.jsをざっと使える様にしてみた。
リリース後修正。2011-04-13
新たに書き直すのも面倒なので


結果こんな感じ。
Minefield4

まず、次の3つをpluginフォルダーに最新のを入れる。
buftabs.js は新たに適当なのを落としておく。=>
maine_coon.js (コマンドライン隠してくれたりする)=>
_libly.js (maine_coon.jsを使うのに必要)=>


①rc設定
さて、アドオンバーにbuftabsとステータスバーを乗っけます。
set buftabsまでにbuftabs.jsを読む必要があるので、
loadplugins と書いているけど、
プラグイン全体を読んでタイミング的に問題あるなら
source ~/vimperator/plugin/buftabs.js としてあげる。

set gui=notabs,addons
set showstatuslinks=1
js document.getElementById('addonbar-closebutton').collapsed=true;
js var staline=document.getElementById('liberator-statusline');
js var adbar=document.getElementById('addon-bar'); adbar.height=20;
js adbar.insertBefore(staline,adbar.firstChild);
loadplugins
set buftabs

と.vimperatorrcに書きます。

次からbuftabs.jsファイルを触ります。


②createBar対応。
乗っけ先をaddon-barへ変更するのと、
もう通らないliberator-statusline-field-urlを除いておく。
// Create the horizontal box for adding the tabs toの下の
createBarファンクションを次の様に変更します。

createBar: function()
{
  var addonbar = document.getElementById("addon-bar");
  var buftabs = document.getElementById("liberator-statusline-buftabs");
  // Only create if it doesn't exist yet
  if (!buftabs)
  {
    buftabs = document.createElement("hbox");
    buftabs.setAttribute("id", "liberator-statusline-buftabs");
    buftabs.setAttribute("flex", "1");
    buftabs.style.overflow = "hidden";
    addonbar.insertBefore(buftabs, addonbar.firstChild);
  }
}, 

に更新。


③引数修正。
その少し下の方、loadイベントの第3引数をtrueに。

getBrowser().addEventListener("load", function (event) {
  if (options.get("buftabs").get())
    statusline.updateUrl();
}, true);

に更新。


④URL表示をちょっと整理。
上の方のupdateUrlファンクションの中、

urlWidget.value = "";

と書かれているのを

statusline.updateField("location","");
liberator.echo(buffer.URL,2);

に更新。
落としてきたbuftabs.jsによるかもしれないが、
if (showCurrentUrl == 0)
  urlWidget.value = "";
と書かれていたらifの行も削除しておく。


これで大体は動く。


*** 余 談 ***
1)アドオンバーに余分なのがあったり、欲しいのが有れば
:dia customizetoolbar
とコマンドラインへ入力し、出したダイアログに
ドラッグで出し入れして、移動出来るのは整える。

2)理由は分からないが、こんな経験がある。
Vimperatorではステータスラインが別のObjectの非表示なのに影響受けた。
Pentadactylではset passkeysが突然エラーになった。など...。
かなり悩ましてもらったが、アドオン消して入れ直すだけで解決した。
Firefoxのaddonアップデートに微妙なのがあるのかな?
なぜか、うまく行かない場合はこの手をお試し。
************

あとはお好みで。



BarTab 2.0を利用していたり、
起動時タブを読み込ませず待たせている設定にしているなら、
待機しているtabは、bufferからは取れないので
"Untitled"と書かれたタブだらけになってしまう。
手っ取り早い方法ではあるが、標準のタブから取ってくる。
// Get title下の}else{の下。

tabvalue = browser.contentTitle || "Untitled";

と書かれているのを

tabvalue =gBrowser.tabs[label.tabpos].label;

に更新。




安全なウェブページの時のハイライト、以前にはあった。
hi StatusLineExtendedや hi StatusLineSecureとか
hi StatusLineBroken。
そのハイライトが無いのでホスト名の前にちょこっと出す。
✿ はverifiedIdentity
✤ はverifiedDomain
⚔ はmixedContent
☠ は以外のunknownIdentity
と一旦してみる。
④で更新したのをまた更新。つまり、

statusline.updateField("location","");
liberator.echo(buffer.URL,2);

と、せっかく書いたのを

var host= gBrowser.currentURI.asciiHost;
host = host?"("+host.replace(/www\./,"") +")":"";
var sign;
with(gIdentityHandler){
  switch(_mode) {
  case IDENTITY_MODE_IDENTIFIED: sign="\u273F"; break;
  case IDENTITY_MODE_DOMAIN_VERIFIED: sign="\u2724"; break;
  case IDENTITY_MODE_MIXED_CONTENT: sign="\u2694"; break;
  default: sign= "\u2620";
  }
  var urlinfo = (_lastLocation.protocol!="https:")? host: sign+host;
}
statusline.updateField("location",urlinfo);
liberator.echo(buffer.URL,2);

に更新。




あと、アドオンバーはテーマに影響する。
文字が見えやすいのを選ぶ必要はない。
/// Initialise highlight groupsの下にデフォルトのCSSが書かれている。
テーマを決めた後、見やすいように書けばいい。
ちなみに、こう書いている。

BufTab {font-family:monospace;font-size:11px;vertical-align:middle;color:#A3A3AF;}
BufTabSelected {font-family:monospace;font-size:11px;vertical-align:middle;color:LightYellow;}



最後に、Vimperator タブ非表示へ が何か参考になれば・・・。