Home > XUL Apps > Multiple Tab Handler

Multiple Tab Handler マルチプルタブハンドラ Ver.2.0.4 for Mozilla Firefox

An English version of this page is also available.

宣伝1。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

宣伝2。Firefox Hacks Rebooted発売中。本書の1/3を使って、再起動不要なアドオンの作り方のテクニックや非同期処理の効率のいい書き方などを解説しています。既刊のFirefox 3 Hacks拡張機能開発チュートリアルと併せてどうぞ。

Firefox Hacks Rebooted ―Mozillaテクノロジ徹底活用テクニック
浅井 智也 池田 譲治 小山田 昌史 五味渕 大賀 下田 洋志 寺田 真 松澤 太郎
オライリージャパン

What's this? これは何?

複数のタブをまとめて閉じたり再読み込みしたりできるようにする拡張機能です。パネル内の項目の上でドラッグするとタブが選択され、ポップアップメニューからその後の操作を選択できます。また、Ctrl-クリックなどで個別に選択した後、右クリックメニューから操作を行うことも可能です。(感覚としては、Excelのセルの選択の操作あたりの感覚をイメージしてください。)クローズボックスの部分をドラッグするとそれらのタブをまとめて閉じる事もできます。

おまけとして、「URLをコピー」「タブをファイルに保存」などの機能もあります。

また、このアドオンはツリー型タブと連携して動作します。両方のアドオンをインストールすると、ツリー型タブのサイドバー上でタブをドラッグ操作により選択できるようになります。(選択操作を開始するにはタブの上でボタンを長押ししてからドラッグして下さい。すぐにドラッグした場合、通常通りのタブの移動となります。)

この拡張機能は、タブブラウザ拡張の機能をFirefox 2向けに再実装する試みの一環として開発しています。

Download ダウンロード

不具合に遭遇した場合は、まずよくある質問をご覧下さい。それでも解決方法が見つからない場合の障害報告はGitHubのイシュートラッカーにお願いします。

同梱している言語パックについて

バージョン0.xは以下の言語パックを内蔵しています。

  • 英語 (en-US)
  • 日本語 (ja)
  • ハンガリー語 (hu-HU, by Mikes Kaszmán István)
  • イタリア語 (it-IT, by Godai71.Extenzilla)
  • スペイン語 (es-ES, by tito)
  • ロシア語(ru-RU, by L'Autour, Netanyahu)
  • 台湾中国語(zh-TW, by Tsprajna)
  • 中国語(zh-CN, by hzhbest)
  • ポーランド語(pl-PL, by Jacek Chrząszcz)
  • ドイツ語(de-DE, by mpeters and saskia_br)
  • フランス語(fr, by Jean-Philippe Fleury)

Features & Screenshots 機能紹介とスクリーンショット

ここに記載されている情報は旧バージョンに関してのものです。最新の情報はMozilla Add-onsのサイトをご覧下さい。

タブの選択と操作。左ドラッグでおもむろに選択してコマンド実行、という感じです。なお、今までのようにタブをドラッグ&ドロップで並べ替えたい場合は、タブのアイコン部分をドラッグしてください。

タブをドラッグするだけで選択されてしまうのが嫌だという場合は、設定で挙動を変更してください。ドラッグ時の挙動は「タブの移動(Firefox標準)」「選択(マルチプルタブハンドラ標準)」「タブの切り替え(iRider互換)」の3択で選べます。

タブの選択操作は、感覚的にはExcelのセルの選択に近いです。Ctrl-クリックもShift-クリックも使えます。

クローズボックスの選択。タブのクローズボックスの上でドラッグ開始すると、クローズボックスだけを選択するモードになります。この場合、ボタンを放したらすぐに選択されたタブを閉じることができます。(iRider互換)

今のタブより右のタブ・左のタブをまとめて閉じる機能もあります。タブのコンテキストメニューから実行してください。

バージョン0.4以降で、クリップボードにタブのURIをコピーする時の形式を自由に追加できるようになりました。以下は登録例です。

HTMLのリスト
<li><a href="%URL_HTMLIFIED%">%TITLE_HTMLIFIED%</a></li>
Markdown
[%TITLE_HTMLIFIED%](%URL_HTMLIFIED% "%TITLE_HTMLIFIED%")
Markdown(リスト)
 * [%TITLE_HTMLIFIED%](%URL_HTMLIFIED% "%TITLE_HTMLIFIED%")
RD
((<%TITLE_HTMLIFIED%|URL:%URL_HTMLIFIED%>))
RD(リスト)
 * ((<%TITLE_HTMLIFIED%|URL:%URL_HTMLIFIED%>))
phpBB
[url=%URL%]%TITLE%[/url]
phpBB(リスト)
[list][url=%URL%]%TITLE%[/url][/list]

API 他の拡張機能等からの機能の呼び出し方など

ここに記載されている情報は旧バージョンに関してのものです。最新の情報はGitHubのWikiのAPIドキュメント(英語)をご覧下さい。

すべての処理はtabbrowser要素一つを単位として行われる。複数のtabbrowser要素に対して処理を行いたい場合、それぞれのtabbrowser要素に対して個別に処理を行う必要がある。

複数のタブに対する処理を行うメソッド

void MultipleTabService.closeTabs(in Array aTabs)
複数のタブをまとめて閉じる。
引数
aTabs
閉じたいタブの配列(またはNodeList)
返り値
なし
void MultipleTabService.reloadTabs(in Array aTabs)
複数のタブをまとめて再読み込みする。
引数
aTabs
再読み込みしたいタブの配列(またはNodeList)
返り値
なし
void MultipleTabService.addBookmarkFor(in Array aTabs)
複数のタブを新しいフォルダにまとめてブックマークする。
引数
aTabs
ブックマークしたいタブの配列(またはNodeList)
返り値
なし
void MultipleTabService.duplicateTabs(in Array aTabs)
複数のタブを複製する。
引数
aTabs
複製したいタブの配列(またはNodeList)
返り値
なし
DOMWindow MultipleTabService.splitWindowFromTabs(in Array aTabs)
ウィンドウを分割し、タブを新しいウィンドウで開く。
引数
aTabs
新しいウィンドウに分割したいタブの配列(またはNodeList)
返り値
新しく開かれたChromeウィンドウ

タブの選択状態の制御

boolean MultipleTabService.hasSelection([in Node aTabBrowser])
タブが一つでも選択されているかどうかを調べる。
引数
aTabBrowser
タブの選択状態を調べたいtabbrowser。省略した場合、ブラウザ標準のブラウズ領域のtabbrowser要素を参照する。
返り値
タブが一つでも選択されているかどうかを示す真偽値
boolean MultipleTabService.isSelected(in Node aTab)
そのタブが選択されているかどうかを調べる。
引数
aTab
選択の状態を調べたいタブ
返り値
そのタブが選択されているかどうかを示す真偽値
boolean MultipleTabService.setSelection(in Node aTab, in boolean aNewSelectionState)
タブの選択状態を変更する。
引数
aTab
選択状態を変更するタブ
aNewSelectionState
新しい選択状態を示す真偽値
返り値
新しい選択状態を示す真偽値
boolean MultipleTabService.toggleSelection(in Node aTab)
タブの選択状態をトグルする。選択されていないタブを渡すとタブが選択され、選択されているタブを渡すと選択が解除される。
引数
aTab
選択状態を変更するタブ
返り値
新しい選択状態を示す真偽値
void MultipleTabService.clearSelection([in Node aTabBrowser])
すべての選択を解除する。
引数
aTabBrowser
タブの選択状態を変更したいtabbrowser。省略した場合、ブラウザ標準のブラウズ領域のtabbrowser要素を参照する。
返り値
なし

タブの取得

Array MultipleTabService.getSelectedTabs([in Node aTabBrowser])
選択されているタブの配列を得る。
引数
aTabBrowser
タブの配列を取得するtabbrowser。省略した場合、ブラウザ標準のブラウズ領域のtabbrowser要素を参照する。
返り値
タブの要素ノードの配列
Array MultipleTabService.getLeftTabsOf(in Node aTab)
そのタブよりも左または上にあるタブの配列を得る。
引数
aTab
基準となるタブ
返り値
そのタブより左または上にあるタブの要素ノードの配列
Array MultipleTabService.getRightTabsOf(in Node aTab)
そのタブよりも右または下にあるタブの配列を得る。
引数
aTab
基準となるタブ
返り値
そのタブより右または下にあるタブの要素ノードの配列

複数のタブのドラッグ&ドロップを受け付ける

マルチプルタブハンドラは、選択された複数のタブをまとめてドラッグ&ドロップする機能を持っています。ドロップ操作の受け入れ側でマルチプルタブハンドラのAPIを使うことによって、複数のタブをドロップされたときの挙動を定義することができます。

バージョン0.6以降では、HTML5のドラッグ&ドロップイベントのdata transfer経由でドラッグ中の選択されたタブを取得できます。この場合、0番目のデータはタブの並び順で左端のタブではなく、ドラッグ操作を開始したタブとなります。


onDrop : function(aEvent) {
  var tabs = [];
  var dt = aEvent.dataTransfer;
  for (let i = 0, maxi = dt.mozItemCount; i < maxi; i++) {
    tabs.push(dt.mozGetDataAt(TAB_DROP_TYPE, i));
  }
  tabs.sort(function(aA, aB) { return aA._tPos - aB._tPos; });
  ...
},

ユーティリティメソッドとして、MultipleTabService.getSelectedTabs()にドロップ時のイベントオブジェクトを渡しても同じ結果を得られます。


onDrop : function(aEvent) {
  var tabs = MultipleTabService.getSelectedTabs(aEvent);
},

また、バージョン0.5以前と互換の以下のAPIも利用できます。

HTML5のドラッグ&ドロップイベントを使わない場合、ドラッグされたタブをMultipleTabService.getBundledTabsOf()メソッドに渡すと、もしそのタブと一緒に他のタブも選択されていたら、選択されたタブ全体の配列を返します。タブが選択されていなかった場合や、タブ以外の物を渡した場合は、空の配列が返ります。以下は、複数のタブを選択してドラッグ&ドロップしたときに、ドロップされたすべてのタブのURIを表示する処理の例です。


onDrop : function(aEvent, aData, aSession) {
  var tab = aSession.sourceNode;
  if ('MultipleTabService' in window) {
    var tabs = MultipleTabService.getBundledTabsOf(tab);
    if (tabs.length) {
      // 複数のタブがドロップされたときは、
      // ドロップされたタブすべてのURIを表示
      alert(
        tabs.map(function(aTab) {
          return aTab.linkedBrowser.currentURI.spec;
        }).join('\n')
      );
      return;
    }
  }
  // 通常の処理
  alert(tab.linkedBrowser.currentURI.spec);
},

MultipleTabService.getBundledTabsOf()メソッドの2つめの引数としてオブジェクトを渡すと、ドロップされたタブが含まれているtabbrowser要素と、そのtabbrowser要素が含まれているウィンドウ(DOMWindow)を取得できます。以下は、他のウィンドウからタブをドラッグ&ドロップされた時だけ元のウィンドウのタブを閉じる処理の例です。


onDrop : function(aEvent, aData, aSession) {
  var tab = aSession.sourceNode;
  if ('MultipleTabService' in window) {
    var info = {};
    var tabs = MultipleTabService.getBundledTabsOf(tab, info);
    if (tabs.length) {
      var uris = tabs.map(function(aTab) {
            return aTab.linkedBrowser.currentURI.spec;
          }).join('\n');
      if (info.sourceWindow != window)
        tabs.forEach(function(aTab) {
          info.sourceBrowser.removeTab(aTab);
        });
      }
      ...
      return;
    }
  }
  ...
},

複数のタブのドラッグ&ドロップをキャンセルする

複数のタブを選択した状態でそのうちの1つをドラッグ&ドロップすると、通常はマルチプルタブハンドラ自身がドラッグ操作の開始を検知して、複数のタブの移動のための処理を行います。他のアドオンからマルチプルタブハンドラのこの挙動をキャンセルしたい場合(そのアドオンが複数のタブのドラッグ&ドロップを扱うための仕組みを持っている場合など)は、マルチプルタブハンドラが発行するMultipleTabHandler:TabsDragStartイベントをキャンセルしてください。


var listener = function function(aEvent) {
     switch (aEvent.type) {
       case "MultipleTabHandler:TabsDragStart":
         return aEvent.preventDefault();
   
       case "dragstart":
         // 複数のタブのドラッグ&ドロップを開始するための任意の処理
         return;
     }
   };

gBrowser.mTabContainer.addEventListener(
  "MultipleTabHandler:TabsDragStart", listener, false);
/* Firefox自身によるタブのドラッグ開始処理よりも先に
   処理を行わないといけないので、キャプチャリングフェーズで
   イベントを監視する。 */
gBrowser.mTabContainer.addEventListener(
  "dragstart", listener, true);

タブを選択した時のメニューへの項目の追加

chrome://multipletab/content/multipletab.xul または chrome://browser/content/browser.xul に対してオーバーレイを適用することで、メニューの内容をカスタマイズできます。

以下はメニュー項目を追加する例です。


<menupopup id="multipletab-selection-menu">
  <menuitem id="selection-feature1"
    insertbefore="multipletab-selection-remove-separator"
    label="Feature 1"
    oncommand="Feature1(MultipleTabService.getSelectedTabs());"/>
</menupopup>

タブのコンテキストメニューへの項目の追加

chrome://multipletab/content/multipletab.xul または chrome://browser/content/browser.xul に対してオーバーレイを適用することで、タブのコンテキストメニューに項目を追加できます。

以下はメニュー項目を追加する、最も単純な例です。


<menupopup id="multipletab-tabcontext-menu-template">
  <menuitem id="context-item-feature2"
    label="Feature 2"
    oncommand="Feature2(this.parentNode.parentNode.parentNode.parentNode.selectedTab);"/>
</menupopup>

メニュー項目を挿入する位置を指定するには、multipletab-insertbefore属性(またはmultipletab-insertafter属性)を使ってください。この属性の値をJavaScriptの式として評価した結果の値である要素ノードの前(または直後)に、その項目が挿入されます。この時、tabContextMenuで項目が挿入されようとしているポップアップメニューの要素ノードを参照できます。以下は、メニューの最後から3番目の項目として挿入する例です。


  <menuitem id="context-item-feature3"
    label="Feature 3"
    multipletab-insertbefore="tabContextMenu.lastChild.previousSibling"/>

また、xpath:で書き始めることで、XPath式による指定も可能です。XPath式による指定では、tabContextMenuをコンテキストノードとして式を評価した上で、ノード集合の最初の項目として取得できたノードを参照します。以下は、メニューの最後から3番目の項目として挿入する例をXPathで書いた物です。


  <menuitem id="context-item-feature3"
    label="Feature 3"
    multipletab-insertbefore="xpath: child::*[last()-1]"/>
  • メニュー項目の挿入はブラウザ起動直後のタイミングで行われます。その後のタイミングで別の拡張機能などによって項目が挿入された場合、挿入位置がずれることがあります。
  • メニュー項目の要素は実際には、複製された後「元のid-tabbrowser012345」という風な形式のidを新たに付与されて、tabbrowser要素の中に挿入されます。CSSでメニュー項目の表示を指定する際には、クラスセレクタなどを使うようにしてください。

縦置きされたタブのためのラベル

ユーザースタイルシートや拡張機能などによって、タブバーが画面の横に縦型で表示されている場合のために、label-horizontal属性とlabel-vertical属性を使って、メニュー項目に特別なラベルを指定することができます。

label-horizontal属性の値は、タブが通常の水平表示になっている場合のラベルとして使われます。label-vertical属性の値は、タブが何らかのカスタマイズによって垂直表示(縦型)になっている場合のラベルとして使われます。


  <menuitem id="context-item-feature4"
    label-horizontal="Feature 4, 左のタブを処理する"
    label-vertical="Feature 4, 上のタブを処理する"/>

メニュー項目の表示・非表示、および有効・無効を切り替える方法

ユーザ設定として extensions.multipletab.show.メニュー項目の要素のid という名前をキーにした真偽値の設定を作成し、値をfalseにすることで、メニュー項目を一時的に非表示にすることができます。

他の拡張機能などによって組み込まれたメニュー項目の表示・非表示を設定するためのUIは、この拡張機能には含まれていません。GUIで表示状態を変更できるようにするには、独自の設定ダイアログを設けるか、 chrome://multipletab/content/config.xul にオーバーレイで項目を組み込んでください。

また、メニュー項目にmultipletab-available属性およびmultipletab-enabled属性を設定しておくことで、メニューが開かれる時に動的に判断を行って、メニュー項目を隠したり無効にしたりすることもできます。これらの属性の値として記述された内容はJavaScriptの式として評価され、multipletab-availableの評価結果が真であれば項目が表示され、偽であれば非表示となります。また、multipletab-enabledの評価結果が真であれば項目は有効、偽であれば無効となります。


  <menuitem id="context-item-myservice-feature"
    label="タブが3つ以上選択されている時のための機能"
    multipletab-available="MyService.available()"
    multipletab-enabled="selectedTabs.length &gt; 3"/>

この例であれば、MyService.available()の返り値が真の時だけ項目が表示され、且つ、選択されているタブの数が3つ以上の時だけ項目を選択できるようになります。なお、これらの属性値に記述する式では以下の変数を利用できます。

tabbrowser
tabbrowser要素のDOMノード。gBrowserに等しい。
tabs
tabbrowser要素で開かれているすべてのタブの配列。Array.slice(gBrowser.mTabContainer.childNodes)に等しい。
selectedTabs
tabbrowser要素で選択されているタブの配列。MultipleTabService.getSelectedTabs(gBrowser)に等しい。

項目の表示・非表示の最終的な判定は、extensions.multipletab.show.メニュー項目の要素のid の設定値(未定義の場合はtrue)とmultipletab-available属性値の評価結果(未定義の場合は真)の両方を元にして行います。設定値と属性値の評価結果の両方共が真の場合のみ、項目が表示されます。言い換えると、どちらか一方でも偽であれば項目は非表示となります。

History 更新履歴

2.0.4 (2017.11.15)
  • 選択されたタブをブックマークする機能を実装
  • 選択されたタブを新しいウィンドウに移動する機能を実装
  • クリップボードへのコピー用フォーマットの既定値にMarkdownを追加
2.0.3 (2017.10.14)
  • macOSにおいてCommand(⌘)-Clickで選択状態をトグルできていなかったのを修正
  • ツリー型タブのサイドバーにおいて選択されたタブをドラッグできるようにした
  • ツールバーボタンのパネルにおいてチェックボックス部分のクリックでタブを選択できるようにした(他のタブの選択状態をクリアしないようにした)
  • タブのドラッグ選択後にツリー型タブの偽コンテキストメニューを開く際、メニュー項目が反映される前にメニューが開かれてしまっていたのを修正
2.0.2 (2017.10.13)
  • macOSにおいてCtrl-クリックとCommand(⌘)-クリックを同一視するようにした
2.0.1 (2017.10.13)
  • パネル上でCtrl-クリックとShift-クリックが機能していなかったのを修正
  • ツリー型タブが使用可能な場合でも「タブをまとめて操作」パネルを有効にできるようにするオプションを追加
2.0 (2017.10.13)
  • WebExtensionsベースで作り直した
0.8.2017061501
  • Nightly 56.0a1に対応
  • Firefox 51以前への対応を終了
  • Firefox 52以降でタブバーに複数のファイルをドロップできなくなっていたのを修正
  • ドイツ語ロケール修正(thanks to Ulf Rompe!)
0.8.2016111701
  • 複数のアプリタブをまとめてピン留め解除した時に、タブの位置や順番がバラバラにならないようにした
  • 「タブを複製」メニューのShift-クリックまたは中クリックで、タブをバックグラウンドで複製できるようにした
0.8.2016090602
  • 使われていないコードを削除
0.8.2016090601
  • Firefox 47以降で選択したタブをドラッグ&ドロップした時に別ウィンドウにまとめて切り離されなくなっていたのを修正
  • ドラッグされていないタブのアニメーションに関する動きがおかしくなっていたのを修正(後退バグ)
0.8.2016090501
  • タブバーへのタブ以外の物のドロップに失敗するようになっていたのを修正(後退バグ)
0.8.2016090401
  • 既に公開が終了した古いアドオン「Print All Tabs」と「Tab Groups」のためのコードを削除
  • Firefox 51以降で選択したタブをファイルとして保存できなくなっていたのを修正
0.8.2016083001
  • 選択されたタブから対応するブックマークを削除する機能を追加した
  • 選択されたタブを複製する時の処理を、他のアドオンとの互換性が高い一般的な方法に改めた
  • ツリー型タブまたはその他のアドオンによって非表示にされたタブがある場合に、Shift-クリックの操作で一部のタブが選択されていなかったのを修正
  • タブからのピーされたURIの中の半角スペースを%20に置換するようにした(by Infocatcher. Thanks!)
  • ruロケール更新(by Infocatcher. Thanks!)
0.8.2015113001
  • すべてのタブおよび選択されたタブ用の「タブを消音」「タブの消音を解除」機能を追加
  • Tab Ulitities Fixedとの併用時に、選択されたタブを任意のウィンドウに移動する機能を利用できるようにした
  • 選択されたタブをブックマークフォルダとして保存する機能およびブックマークフォルダのプロパティ編集が動作しなくなっていたのを修正
  • ruロケール更新(by Netanyahu, thanks!)
0.8.2015111101
0.8.2015111001
  • Firefox 40以降に対応
  • タブのコンテキストメニューに「似たタブを全て選択」、選択時のメニューに「選択を反転」を追加した
  • 選択されたタブをブックマークフォルダとして保存する機能およびブックマークフォルダのプロパティ編集が動作しなくなっていたのを修正
  • タブのプロセス分離の状態が変更された後もコンテンツ領域内からのメッセージを正しく受け取るように修正
0.8.2015030601
0.8.2015022701
  • Firefox 36以降で動作するように修正
  • 複製したタブを、複製元タブの隣に開くようにした
  • Ctrl-ドラッグ&ドロップで同じウィンドウの中にタブを複製できなくなっていたのを修正
  • Ctrl-ドラッグ&ドロップで別のウィンドウからタブを引くせいできなくなっていたのを修正
  • 復元可能な数のタブよりも少ない数のタブを一度に閉じようとしている時は警告を表示しないようにした
  • extensions.multipletab.tabdrag.delayの設定が機能しなくなっていたのを修正(By Infocatcher. Thanks!)
0.8.2014102201
  • Firefox 30およびそれ以前のバージョンのサポートを終了
  • マルチプロセスモード(E10S)に対応
  • 「タブのクローズボックスをドラッグして選択した場合、タブをまとめて閉じる」機能の有効・無効を切り替えるオプションを追加
  • 選択したタブのロック状態を変更できない問題を修正
  • Nightly 33.0a1において dom.compartment_per_addon=true に設定した場合でも動作するように暫定的に対処
0.7.2014050101
  • Linux上のAustralisにおいて、まとめて閉じられようとしているタブの表示が見にくかったのを修正
0.7.2014043001
  • Tab Mix Plusとの併用時に初期化に失敗する問題を修正(後退バグ)
0.7.2014042701
  • Firefox 31.0a1に対応
  • Firefox 23より古いバージョンのサポートを終了
  • 待機状態のタブのURI等をコピーする時、必要のない限りはタブの内容を読み込まないようにした
0.7.2013100801
  • Firefox 24以降の「右のタブを閉じる」機能に対応(Firefox自身が機能を提供している場合、マルチプルタブハンドラ自体の機能は無効化されます)
  • Firefox 25に対応
0.7.2013052901
  • 「グループに移動」のポップアップに、名前が付いていないグループも表示するようにした
  • 選択したタブをコピーする機能において、リッチテキスト形式でのコピーに対応した(「%RT%」というキーワードをフォーマット中で指定すると、結果がリッチテキストHTMLとしてコピーされます)(by Yue Hu (ximellon). Thanks!)
  • 「タブのURIをコピー」機能で利用できるプレースホルダのヘルプ文字列をより読みやすい形に整形(by Infocatcher. Thanks!)
  • セッション保存APIの仕様変更に追従
0.7.2013040601
  • Firefox 19以降で複数のタブをウィンドウ外にドラッグして新しいウィンドウに移動する時に、他のタブが追従しない問題を修正
  • "ru"ロケール更新 (by Infocatcher)
  • "zh-TW"ロケール更新 (by HJL)
  • jarファイルを含めない形のパッケージングに変更
0.7.2012122901
  • Nightly 20.0a1に対応
  • 選択したタブをコピーする機能において、水平タブのための新しい特殊文字指定「%TAB%」を利用できるようにした
  • Suspend TabおよびUnloadTabとの併用時に、選択したタブに対してまとめて「タブをサスペンド」「タブを復帰」を実行できるようにした
  • 選択したタブを保存する機能が動かなくなっていたのを修正(リグレッション)
  • 選択された複数のタブのうち1番目以外のタブをドラッグしてタブの移動を開始した場合に、タブの移動に失敗していたのを修正
  • 最近のバージョンのFirefoxにおいて、複数のタブを選択してウィンドウ外にドロップした時に、ドラッグ操作が開始されたタブ以外のタブが新しいウィンドウに移動しなくなっていたのを修正
0.7.2012111301
  • 選択したタブをリロードする機能が正しく動いていなかったのを修正
  • 選択したタブを保存する機能が最近のNightlyで動かなくなっていたのを修正
  • 選択したタブを保存する機能がWindows上で時々失敗する事があったのを修正
0.7.2012111001
  • Nightly 19.0a1へ対応
  • Firefox 10よりも古いバージョンへの対応を終了
  • 複数タブのドラッグ&ドロップ時にアニメーション効果を正しく適用するようにした(Firefox 17以降)
  • 選択されたタブを新しいウィンドウに切り離すなどの、複数のタブに対する一括操作によって、まだ復元されていないタブの内容が失われる問題を修正(安全に復元するようになりました)
  • ユーザがまだタブグループ機能を使った事が無い場合には、タブのコンテキストメニューで「グループに移動」を隠すようにした
  • Shift-クリックで期待と異なるタブが選択される場合があったのを修正
0.7.2012020901
  • Nightly 13.0a1へ対応
  • Firefox 3.6への対応を終了
  • 選択されたタブに対するコンテキストメニューにおいて、いくつかの項目の表示・非表示に関してユーザ設定が反映されていなかったのを修正
  • 最近のNightlyにおいて選択されたタブからブックマークを作成できなくなっていたのを修正
0.6.2011120101
  • クローズボックスの上でのドラッグの開始について、開始までの待ち時間を設定できるようにした(待ち時間は隠し設定「extensions.multipletab.tabdrag.close.delay」にて変更可能。初期値は「0」。)
  • Tab Mix Plusと併用した時にCtrl/Shift-クリックの設定の競合を自動的に解消した場合、マルチプルタブハンドラまたはTab Mix Plusを無効化あるいは削除した時に以前の設定を自動的に復元するようにした
  • ファイル選択時の挙動と同様に、複数のタブが選択された状態でそのうちの1つをクリックした時も選択を解除するようにした
  • クローズボックスの外周1ピクセル分の領域で意図せずドラッグ操作に反応してしまっていたのを修正
0.6.2011092901
  • 註:このバージョンおよびこれ以前のバージョンは、bug 455694およびbug 674925の影響によりFirefox 8以降には非対応です
  • ドラッグ操作でタブを選択または閉じようとしている間にESCキーを押した時に、操作をキャンセルするようにした
  • ドラッグ操作でタブを選択または閉じようとする時の挙動を、エクスプローラ上でのファイル選択や文字列の範囲選択の挙動と同様にした(今までは単にタブの上をポインタが通過しただけで選択の状態を切り替えていた)
  • 「左(上)のタブを閉じる」でピン留めされたタブを閉じないようにした
  • Panoramaで他のグループにタブがある時に、メニューの「右(下)のタブを閉じる」「左(上)のタブを閉じる」が意図せず無効になってしまう場合があったのを修正
  • ru-RUロケール更新(by Netanyahu)
0.6.2011082901
  • 註:このバージョンおよびこれ以前のバージョンは、bug 455694およびbug 674925の影響によりFirefox 8以降には非対応です
  • 現在のタブの暗黙的な選択に関する挙動をカスタマイズできるようにした
  • 複数のタブを閉じる時の警告を "extensions.multipletab.warnOnCloseMultipleTabs" でカスタマイズできるようにした( -1 ="browser.tabs.warnOnClose"を使用, 0 =警告しない, 1 =警告する)
  • Metaタグの情報を使用するための以下の新しいプレースホルダに対応: %AUTHOR% , %AUTHOR_HTMLIFIED% , %DESCRIPTION% , %DESCRIPTION_HTMLIFIED% , %KEYWORDS% , %KEYWORDS_HTMLIFIED%
  • タブが1つだけ選択されている時にドラッグできない問題を修正
  • 素早くタブを選択した時にいくつかのタブが選択されない問題を修正(Thanks titoBouzout!)
  • コンテンツ領域のコンテキストメニューが表示されなくなる問題を修正
  • 日本語ロケールにおいてタブ選択時のメニューのラベル文字列を短くした
  • ru-RUロケール更新(by Netanyahu)
0.6.2011051101
  • タブ上でのCtrl(Command)-クリックに対してマルチプルタブハンドラ自身が何もしないよう明示的に設定できるようにした
  • ピン留めされたタブを「他のタブを閉じる」で閉じないようにした
  • 現在のタブの上でのCtrl(Command)-クリックでそのタブ自身が選択されない問題を修正
  • Firefox 4において、タブバー上に配置されたツールバー項目の上へのタブのドロップが機能していなかったのを修正
  • Locationbar2と併用できるようにした
  • Personal Titlebarとの併用時に初期化処理が2回呼ばれてしまっていたのを修正
  • Tab Mix Plusとの併用時のTabDNDObserverに関する互換性の問題を解消
  • フランス語ロケール追加(translated by Jean-Philippe Fleury)
  • 簡体中国語ロケール更新(translated by hzhbest)
0.6.2011020301
  • Tab Mix Plusがあるとタブをドラッグ&ドロップできなくなる問題に対処
  • Personal Titlebarとの併用を可能にした
  • DragNDrop Toolbarsとの併用を可能にした
0.6.2011011701
  • Minefieldにおいて、選択したタブに対して「タブをピン留めする」「タブのピン留めを外す」「グループへ移動」を実行できるようにした
  • Minefieldにおいて、Panoramaを開く前にタブの選択状態を解除するようにした
0.6.2011011102
  • DOMイベントを使用したAPIについて、旧来のイベント名(nsDOMというプレフィクスが付かない物)でも getData() で情報を取得できるようにした
0.6.2011011101
  • タブが選択されてからマウスのボタンが放されるまでの間に時間がかかってしまった場合に、意図しないポップアップが表示されないように修正
  • 複数のタブをまとめて閉じる機能について、閉じられるタブとして選択中のタブのクローズボックスの表示スタイルをより目立たないように変更
  • DOMイベントを使用したAPIについて、Minefieldでのセキュリティ上の制約により、「nsDOM」プレフィクス付きのイベント名で、DataContainerEventとしてイベントを送出するように仕様を変更(後方互換性のため過去のプロパティアクセス表記も利用可能ですが、Firefox 4以降では、場面によってはセキュリティ上の制限からプロパティアクセスを利用できません。安全のため、今後は aEvent.getData(プロパティ名) でプロパティの内容を参照するようにしてください。)
0.6.2010121701
  • 同じサイトのタブを閉じる機能について、別のユーザのホームに属しているURI( /~username/ の部分が異なる場合)は別のサイトと見なすようにした( extensions.multipletab.checkUserHome=false で従来の動作)
  • multipletab-selected属性の代わりにmultiselected属性を使用するようにした(互換性のため、以前の属性名も使用されます)
  • Tab Mix Plusがあるとタブをドラッグ&ドロップできなくなる問題に対処
  • ru-RUロケールの一部を前バージョンの内容に差し戻した
0.6.2010120202
  • 複数のタブをブックマークサイドバー等にドロップした際にすべてのタブをブックマークする機能が働かなくなっていたのを修正
  • Minefieldにおいて読み込みが完了していないタブをブックマークできるようにした
0.6.2010120201
  • Windows上のFirefox 3.6以前では複数タブのドラッグ時にカーソルの形を変えないようにした(ドラッグ操作のフィードバック用画像が表示されないバグのため)
  • クローズボックスのドラッグによって選択されている状態のタブについて、クローズボックスの強調表示のスタイルを修正
0.6.2010120101
  • Firefox 3.0系のサポートを終了
  • HTML5のドラッグ&ドロップのAPIに基づく実装に変更し、複数のタブをドラッグするときはそれらをdata transferに渡すようにした
  • 複数のタブに対するドラッグ&ドロップの動作を始める前に「MultipleTabHandler:TabsDragStart」イベントを発行するようにした(このイベントをpreventDefault()でキャンセルすることで、複数タブのドラッグ&ドロップ時の挙動を任意の挙動に変更できます)
  • Menu Editorの設定ダイアログの呼び出しに失敗していたのを修正
  • クローズボックスのドラッグによって選択されている状態のタブについて、クローズボックスの強調表示をより強く行うようにした
0.5.2010111401
  • Minefieldでのタブの仕様変更に追従
  • Minefieldでセッションが復元されない問題を修正
0.5.2010070301
  • Minefield 4.0b2preで他のアドオンの状態に応じた設定項目の有効・無効の切り替えが行われない問題を修正
  • 0.5.2010062901のリグレッション:ツリー型タブが無いと動作しなくなっていたのを修正
0.5.2010062901
  • Minefield 3.7a6preでタブバー上でのドラッグ中の自動スクロールが効かなくなっていたのを修正
  • ロシア語ロケール更新(by L'Autour)
0.5.2010043001
  • バックグラウンドにあるタブをクリックして、タブがフォアグラウンドになるまでに時間がかかってしまった場合に、タブを選択しようとしているわけでもないのにタブが選択されてしまう現象を起こらないようにした。
  • multipletab-available属性のみが指定されていてextensions.multipletab.show.*の設定値が存在しない場合に、メニュー項目の表示・非表示の切り替えが期待通りに行われない問題を修正
0.5.2010040201
0.5.2010032901
  • es-ESロケールが壊れていたのを修正
0.5.2010032801
  • Minefield 3.7a4pre対応
  • 選択したタブをブックマークサイドバーへドラッグ&ドロップした時に、まとめてブックマークする機能が働いていなかったのを修正
  • BarTabによって待機状態にされているタブについて、なるべく正しくURIを取得できるようにした
  • es-ESロケール更新(by tito)
  • ru-RUロケール更新(by Netanyahu)
  • it-ITロケール更新(by Godai71)
0.5.2010020801
  • 「似たタブを閉じる」機能について、選択中のタブも閉じるようにした
  • これまでのバージョンでの「似たタブを閉じる」機能と同じ結果になる「他の似たタブを閉じる」を追加
  • 選択したタブをまとめて保存する機能が働かなくなっていたのを修正
  • BarTapとの連携がうまくいっていなかったのを修正
0.5.2010020301
  • BarTapによって読み込みが中断されているタブについては、操作を行う前にタブの読み込みを行うようにした
  • Firefox 3.6以降で、開き直せない状態にしてからタブを閉じる処理が期待通りに動いていなかったのを修正
  • zh-CNロケール更新(by hzhbest)
  • ru-RU ロケール更新(by Netanyahu)
0.5.2010012001
  • 複数のタブをまとめて閉じた後に、Echofonなどによる常時表示型のパネルが消えてしまう問題に対処
  • ツリー型タブと組み合わせた時に、ブックマークを並べ替えようとするとエラーになる問題を修正
  • Super Tab Modeがインストールされている環境で、選択されたタブに対して「タブのロック」を行えるようにした
  • Tab Utilitiesがインストールされている環境で、選択したタブのロック・保護・凍結の各メニューの表示・非表示を任意に設定できるようにした
  • it-ITロケール更新(by Godai71)
  • hu-HUロケール更新(by Mikes Kaszmán István)
0.5.2010011601
  • 複数のタブをブックマークフォルダ上にドロップした時に、その位置に複数のブックマーク項目を同時に生成するようにした
  • タブをShift-クリックした時の挙動を変更できるようにした
  • Tab Mix Plusがインストールされている場合、タブの上でのCtrl-クリックとShift-クリックをどちらのアドオンの操作に使うかを訊ねるようにした
  • タブのURIをコピーする際、タイトルやURIの一部に「$1」が含まれているとその部分が意図せず置き換えられてしまう問題を修正
  • ツリー型タブで親のタブを選択した時、実際には折りたたまれていないツリーが全選択されてしまうことがあったのを修正
  • 複数のタブをまとめて閉じる直前に MultipleTabHandlerTabsClosing イベント、閉じた直後に MultipleTabHandlerTabsClosed イベントを発行するようにした
  • Undo Tab Operationsとの併用で複数のタブへの操作をやり直せるようにした
  • de-DEロケール追加(by mpeters and saskia_br)
  • pl-PLロケール追加(by Jacek Chrząszcz)
  • ru-RU ロケール更新(by Netanyahu)
  • it-ITロケール更新(by Godai71)
0.5.2009110501
  • Minefield, Firefox 3.6対応
  • Firefox 2のサポートを終了
  • より安全なコードへ
  • 実際のタブの状態と保存されたセッション情報との間に不整合が発生する可能性があったのを修正
  • ツリー型タブでインデントされたタブについて、インデント部分の余白の上ではmousemoveイベントを拾わないようにした
0.4.2009073101
  • 選択したタブをブックマークに保存する際、ツリー型タブのツリー構造を含めるようにした
  • Tab Mix Plusがある時、ブックマークの保存に失敗する問題を修正
  • hu-HUロケール更新(by Mikes Kaszmán István)
0.4.2009072001
  • タブのURIをコピーする時の形式を自由に追加できるようにした(Copy URL+互換)
0.3.2009071601
  • Tab Mix Plusがインストールされている環境で、選択したタブに対して「タブをロック」「タブを保護」「タブを凍結」を実行できるようにした
  • Tab Mix Plusでタブバーが複数行で表示されている時、タブのドラッグによる選択が機能しない問題を修正
  • Tab Mix Plusでタブバーが複数行で表示されている時、タブのドラッグ中は縦方向にオートスクロールするようにした
  • Firefox 3.5で、すべてのタブをドラッグした時の除外処理が働いていなかったのを修正
  • zh-CNロケール追加(by hzhbest)
0.3.2009062901
  • ウィンドウをまたいでタブを移動した後に、移動されたタブを選択したままにするかどうかの設定が、Firefox 3.0では無視されていたのを修正
  • Firefox 3.5 on Mac OS XでタブのThrobberが表示されなくなる問題に対処
  • イタリア語ロケール更新(by Godai71)
  • 台湾中国語ロケール更新(by Tsprajna)
  • ハンガリー語ロケール更新(by Mikes Kaszmán István)
0.3.2009062301
  • 複数のタブをまとめて閉じる時、閉じるタブの数を正しく表示するようにした
  • 複数のタブをまとめて閉じる時について、タブを閉じる順番を設定できるようにした
  • タブの複製とウィンドウをまたいだタブの移動について、自動的にタブを選択するかどうか設定できるようにした
  • it-ITロケールの更新ミスがあったのを修正
0.3.2009051501
  • hu-HUロケール更新(by Mikes Kaszmán István)
0.3.2009051301
  • Menu Editorと連携して動作するようにした(タブ選択時のメニューをカスタマイズできるようにし、マルチプルタブハンドラの設定ダイアログからMenu Editorの設定ダイアログを開けるようにした)
  • APIによるタブのコンテキストメニューへのメニュー項目の追加時に、項目の位置の指定方法として multipletab-insertbefore に加えて multipletab-insertafter も利用できるようにした
  • APIによるタブのコンテキストメニューへのメニュー項目の追加時に、 multipletab-insertbeforemultipletab-insertafter でXPath式を利用できるようにした
  • タブのコンテキストメニューに挿入する項目の並び順を変更した
  • 他のアドオンがAPIを使ってタブのコンテキストメニューに挿入する項目より先に、マルチプルタブハンドラ自身が提供する項目を挿入するようにした
0.3.2009051101
  • クリップボードにコピーする文字列の改行コードをプラットフォームに合わせて変えるようにした(WindowsではCR+LF、LinuxおよびMac OS XではLF)
  • タブを複製した後に再度タブの複製を実行すると、タブが2重に複製されてしまう問題を修正
  • zh-TWロケール更新(by Tsprajna)
0.3.2009043002
  • Minefieldで動作しなくなっていたのを修正
0.3.2009043001
  • 分割ブラウザで、他のペインが存在するときにメインのブラウズ領域の最後のタブを別のウィンドウに移動した場合、ウィンドウを閉じないようにした
0.3.2009042901
  • タブの選択時のメニューに「他をすべて閉じる」を追加
  • Effective TLDに基づいて、サブドメインが異なるページを開いているタブも「似たタブ」として認識するようにした(Firefox 3以降のみ)
  • 選択したタブのURIをHTMLとしてコピーする時、URIやタイトルの中に含まれる特殊文字をエンティティ参照に置換するようにした
  • コンテキストメニューなどから「タブを複製」を実行するとすべてのタブが選択されてしまっていたのを修正
  • zh-TWロケール追加(translated by Tsprajna)
0.3.2009040901
  • タブの選択などのドラッグ中にタブバーを自動スクロールするようにした
0.3.2009040201
  • Minefieldで動作しなくなっていたのを修正
0.3.2009032501
  • 選択されたタブの強調表示スタイルを、他のアドオンでのスタイル指定よりも優先的に適用するようにした
0.3.2009021201
  • 内部処理を改善
0.3.2008122801
  • タブバー上のボタンやスクロールバーなどでの上でのクリック操作ではタブの選択を解除しないようにした
  • ルーマニア語ロケール追加(by L'Autour)
  • イタリア語ロケール更新(by Godai71)
0.3.2008120401
  • Print All Tabsがインストールされている場合、選択されたタブをメニューから印刷できるようにした
  • ツリー型タブがインストールされている場合、タブのインデント部分でもタブの選択を開始できるようにした
  • ハンガリー語ロケール更新(by Mikes Kaszmán István)
0.3.2008120201
  • 選択したタブをまとめてダウンロードする機能を追加
  • タブの上でボタンを押下しっぱなしにした時に、最初のタブが自動的に選択されていなかったのを修正
  • Minefield 3.1b3preで、選択されたタブをウィンドウ外にドロップして新しいウィンドウに分離できるようにした
0.3.2008111401
  • 選択されたモードに応じて設定ダイアログ内の無用なチェックボックスを自動的に無効化するようにした
  • イタリア語ロケール更新(by Godai71)
  • スペイン語ロケール更新(by tito)
  • ハンガリー語ロケール更新(by Mikes Kaszmán István)
0.3.2008101801
  • タブをドラッグで選択した後にポップアップメニューを自動的に開かない設定を加えた
  • メニュー項目の表示カスタマイズ用チェックボックスのリストを設定ダイアログの大きさいっぱいまで広げて表示するようにした
0.3.2008101701
  • Minefield 3.1b2preで、ウィンドウ間で複数のタブを移動する時に、内容の再読み込み無しでタブを移動するようにした
  • Minefield 3.1b2preで、選択されたタブを新しいウィンドウで開く時に、内容の再読み込み無しでタブを移動するようにした
  • 違うウィンドウに複数のタブをドロップする時、Ctrlキー(Commandキー)を押している場合は複製、そうでない場合は移動するようにした
  • メニュー項目が重複して表示されたままになる問題を修正
0.2.2008101501
  • タブのクローズボックスをドラッグしてタブをまとめて閉じる時、ツリー型タブで折りたたまれたタブを消し残すことがあったのを修正
  • Menu Editで項目が無限増殖する問題に対処
  • Tab Mix Plusがインストールされていると選択されたタブをブックマークできなくなる問題を修正
  • 「左のタブを閉じる」「右のタブを閉じる」について、該当するタブがない時は項目を無効化するようにした
  • タブが一つしかない時は「全てのタブを…」系の項目を隠すようにした
0.2.2008050601
  • イタリア語ロケール更新
0.2.2008050201
  • Firefox 3で選択したタブをまとめてブックマークできなくなっていたのを修正
0.2.2008040701
  • タブを複製した後は、複製されたタブを必ず選択するようにした
  • Firefox 3での外観を調整
0.2.2008031001
  • タブの複製に失敗する問題を修正
  • タブ選択時のメニューでサブメニューが閉じられると選択が解除されてしまう問題を修正
  • スペイン語ロケール追加(by tito, Thanks!)
  • Minefield 3.0b5preでの動作を確認
0.2.2008022801
  • Tab Groupsと同時に利用するとタブの複製や別ウィンドウへの移動が正常に行えなくなる問題を修正
0.2.2008022701
  • LinkwadTab Groupsにおいてグループの間で複数のタブをドラッグ&ドロップで移動できるようにした
0.2.2008022502
  • 複数タブをドラッグ&ドロップした時にドロップ位置のインジケータが消えずに残ることがある問題を修正
  • 複数タブをドラッグ&ドロップして移動または複製する時に、ドラッグ前と同じ並び順になるようにした
0.2.2008022501
  • ハンガリー語ロケール更新(by Mikes Kaszmán István)
0.2.2008022402
  • Firefox 3において、選択された複数のタブをまとめてドラッグ&ドロップで複製および他のウィンドウに移動できるようにした
  • Firefox 3において、タブの選択状態が表示されない問題を修正
0.2.2008022401
  • 選択された複数のタブをまとめてドラッグ&ドロップで移動できるようにした
  • duplicateTabメソッドをgBrowserに追加するようにした
0.2.2007111801
  • ツリー型タブと併用した時、サブツリーが折り畳まれたタブを選択した時は折り畳まれたタブもすべて選択するようにした
0.2.2007111301
  • Tab Mix Plusと併用した時にタブのクローズボックスのドラッグでタブをまとめて閉じる機能が働かない問題を修正
0.2.2007110601
  • ドラッグでのタブの選択が開始される前にボタンを放した場合、選択を解除して、ポップアップメニューも表示しないようにした
  • ドラッグでのタブ切り替え操作について遅延が機能していなかったのを修正
  • ドラッグでの選択/タブ切り替え操作について、初期状態で遅延を設定した
0.2.2007110501
  • タブのURIをコピーする際、形式をメニューから選択できるようにした
  • タブのドラッグで選択を開始またはタブを切り替える設定について、操作を有効にするまでの遅延時間を設定できるようにした
  • イタリア語ロケール追加(by Godai71.Extenzilla)
0.1.2007103101
0.1.2007102501
  • Minefieldにおいて、選択したタブをブックマークフォルダに保存する機能が働くようにした
0.1.2007061801
  • 複数タブ選択時のポップアップメニューやタブのコンテキストメニューで無用なセパレータが表示されたままになることがあったのを修正
  • 英語ロケールのミスを修正
0.1.2007060601
  • 「URIをコピー」「似たタブを閉じる」機能を追加
  • ハンガリー語ロケールを更新
0.1.2007050701
  • タブをドラッグで移動する設定の時、favicon以外に反応していなかったのを修正
  • 日本語ロケールのミスを修正
0.1.2007050601
  • いくつかのAPIについて、動作に不備があったのを修正
0.1.2007042601
  • ポップアップがずれて表示される問題を修正
0.1.2007042501
0.1.2007042003
  • 「タブを複製」機能を追加
  • ウィンドウを分割する処理の効率を改善
0.1.2007042002
  • アイコンを追加
  • 「すべてのタブを閉じる」機能を追加
  • 選択されたタブをブックマークする機能を追加
  • タブの再読み込みでまで確認が出てしまっていたのを修正
0.1.2007042001
  • 公開
Last modified:2017/11/15 01:55:35