Vimperatorで現在のタブの右隣にタブを開くようにする(外部アプリからURLを開く時なども)

2012/07/27 Firefox Nightly 17.0aで動かなくなってたので修正
2011/03/14 Firefox 4 RCから動かなくなってたので修正



TabMixPlusとかのアドオンに頼らずに、Vimperatorで現在のタブの右隣にタブを開くようにする。この方法なら:tabopenコマンドに限らず、外部アプリからURLを開く時でも新しいタブで開くようになる。

これはabout:configのbrowser.tabs.insertRelatedAfterCurrentがtrueで無ければならない。

VimpでなくFirefox自体の機能に手を入れるので、他のアドオンなどと干渉する可能性もあるので注意。

vimperatorrcファイルに次を追加(なお、先日書いた記事「Vimperatorの:tabopenコマンド(liberator.open)で現在のタブのすぐ右隣にタブを開くようにする - wltの日記」の設定は不要になる。)。

" Firefoxのタブを開く位置をデフォで現在のタブの右隣にする(※ gBrowser.addTabの改造)"
js <<EOM
gBrowser.addTab = liberator.eval(
    '(' +
    gBrowser.addTab.toSource()
            .replace(/var\s*aRelatedToCurrent;/, 'var aRelatedToCurrent = true;')
            .replace(/aRelatedToCurrent\s*=\s*params\.relatedToCurrent;/, 'aRelatedToCurrent = params.relatedToCurrent === undefined ? true : params.relatedToCurrent;') +
    ')',
    gBrowser.addTab);
EOM