Home > XUL Apps > Multiple Tab Handler

Multiple Tab Handler Ver.3.1.12 for Mozilla Firefox

Note: This page is archived and maintained mainly as a histrical document. Please see the Mozilla Add-ons page and the GitHub repository for latest information.

IMPORTANT SECURITY NOTE: All versions MTH 2.x and MTH 3.x older than MTH 3.0.7 had a data disclosure problem via API for other addons. Sensitive tab information including private window tabs were unintentionally exposed to untrusted addons, regardless they were not have permissions to access those information via WebExtensions API. I strongly recommend you to update to MTH 3.0.7 and later. Please see detailed information also.

What's this? ...abstract

This provides features to handle multiple tabs at once, for example, close them, reload them, and so on. When you press the mouse button and drag in the popup panel, they are selected. After you release the button, the popup to choose command will be shown. Of course, you can toggle selection by Ctrl-click on each tab and call features from the context menu. Yes, the behavior looks like Excel. And you can also close multiple tabs directly by dragging on closeboxes.

By the way, this includes "Copy URL" and "Save Tab to File" features.

Moreover, this addon is designed to work with Tree Style Tab. If you install both addons, you can select tabs in the sidebar by dragging . (Note that you need to long-press on a tab to start selection. Otherwise - if you start dragging immediately, it just moves the tab.)

This is developed under a project to restructure TBE for Firefox 2.

Download Links to XPI packages

If you see any problem, see FAQ at first. If there is no solution, post a report to the issue tracker on the GitHub please.

Including Language Packs

Released version 0.x includes following language packs:

  • English (en-US)
  • Japanese (ja)
  • Hungarian (hu-HU, by Mikes Kaszmán István)
  • Italian (it-IT, by Godai71.Extenzilla)
  • Spanish (es-ES, by tito)
  • Russian (ru-RU, by L'Autour, Netanyahu)
  • Traditional Chinese (zh-TW, by Tsprajna)
  • Chinese (zh-CN, by hzhbest)
  • Polish (pl-PL, by Jacek Chrząszcz)
  • German (de-DE, by mpeters and saskia_br)
  • French (fr, by Jean-Philippe Fleury)

Features & Screenshots This package provides following features.

This section describes about old version 0.x. For latest information, see Mozilla Add-ons website.

Select tabs, and choose a command. This is the simple usecase. If you want tabs to be rearranged, please drag the favicon of tabs.

If you don't like the behavior of tabs, you can change it. "Move tab (Firefox default)", "select tab (Multiple Tab Handler default)" or "switch tab (iRider compatible)" is available.

You can select/unselect tabs by ctrl-click or shift-click, like as cells of Excel.

Selecting of closeboxes can close tabs directly. (iRider compatibility)

This includes "Close Left Tabs" and "Close Right Tabs" features. You can use them from the context menu of tabs.

With version 0.4 or later, you can add custom formats for the feature "copy URIs of selected tabs". For example:

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

API Information of programming interfaces for hackers.

This section describes about APIs in old versions. For latest information, see API document on GitHub Wiki.

*Following methods are work for single "tabbrowser" element. If you wish to operate multiple "tabbrowser" elements, you have to do for each element.

Methods to operate multiple tabs at once

void MultipleTabService.closeTabs(in Array aTabs)
Closes multiple tabs at once.
Arguments
aTabs
Array (or NodeList) of tabs to be closed.
Returned Value
Nothing
void MultipleTabService.reloadTabs(in Array aTabs)
Reloads multiple tabs at once.
Arguments
aTabs
Array (or NodeList) of tabs to be reloaded.
Returned Value
Nothing
void MultipleTabService.addBookmarkFor(in Array aTabs)
Bookmarks multiple tabs at once, into a new folder.
Arguments
aTabs
Array (or NodeList) of tabs to be bookmarked.
Returned Value
Nothing
void MultipleTabService.duplicateTabs(in Array aTabs)
Duplicates multiple tabs.
Arguments
aTabs
Array (or NodeList) of tabs to be duplicated.
Returned Value
Nothing
DOMWindow MultipleTabService.splitWindowFromTabs(in Array aTabs)
Opens new browser and move specified tabs to the window.
Arguments
aTabs
Array (or NodeList) of tabs to be moved to the new window.
Returned Value
Chrome window which is newly opened.

Controling tab selection

boolean MultipleTabService.hasSelection([in Node aTabBrowser])
If any tab is selected, returns "true".
Arguments
aTabBrowser
The "tabbrowser" element you want to know its selection of tabs. If you omit this argument, this will return the result for the default "tabbrowser" element in the browser.
Returned Value
Boolean value that indicates there is any selected tab.
boolean MultipleTabService.isSelected(in Node aTab)
Inspects the selection state of single tab.
Arguments
aTab
A tab.
Returned Value
Boolean value that indicates which the tab is selected or not.
boolean MultipleTabService.setSelection(in Node aTab, in boolean aNewSelectionState)
Sets the selection state of single tab.
Arguments
aTab
The tab which you want to change its status.
aNewSelectionState
Boolean value indicates the new selection state.
Returned Value
Boolean value indicates the new selection state.
boolean MultipleTabService.toggleSelection(in Node aTab)
Toggles the selection state of single tab. If the tab has been selected, it will be unselected. If not, selected.
Arguments
aTab
The tab which you want to toggle its status.
Returned Value
Boolean value indicates the new selection state.
void MultipleTabService.clearSelection([in Node aTabBrowser])
Clear selection state of all tabs.
Arguments
aTabBrowser
The "tabbrowser" element you want to clear its selection of tabs. If you omit this argument, this will return the result for the default "tabbrowser" element in the browser.
Returned Value
Nothing

Getting tabs

Array MultipleTabService.getSelectedTabs([in Node aTabBrowser])
Gets an array of selected tabs.
Arguments
aTabBrowser
The "tabbrowser" element you want to get selected tabs. If you omit this argument, this will return the result for the default "tabbrowser" element in the browser.
Returned Value
Array of tab elements
Array MultipleTabService.getLeftTabsOf(in Node aTab)
Gets an array of tabs they are placed left or above of the specified tab.
Arguments
aTab
Target tab.
Returned Value
Array of tab elements
Array MultipleTabService.getRightTabsOf(in Node aTab)
Gets an array of tabs they are placed right or below of the specified tab.
Arguments
aTab
Target tab.
Returned Value
Array of tab elements

Receiving drag and drop of multiple tabs

Multiple Tab Handler supports drag and drop of multiple tabs. You can receive all of dropped tabs by MTH's API like following samples.

On 0.6 or later, you can get dragged tabs via the data transfer object of HTML5 Drag and Drop events.In this case the first data (index == 0) is not leftmost tab but the tab you start the dragging.


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; });
  ...
},

You can get just same result by the utility method MultipleTabService.getSelectedTabs(), if you give the drop event to the method.


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

Moreover, old API compatible to 0.5 or older is available too.

MultipleTabService.getBundledTabsOf() method returns an array of selected (drag-and-dropped) tabs if you hand one of them to him. If there is no selection or you hand any object not a tab, he returns a blank array. For example, this shows an URI list of dropped tabs:


onDrop : function(aEvent, aData, aSession) {
  var tab = aSession.sourceNode;
  if ('MultipleTabService' in window) {
    var tabs = MultipleTabService.getBundledTabsOf(tab);
    if (tabs.length) {
      // When multiple tabs are dropped,
      // show URIs of all tabs.
      alert(
        tabs.map(function(aTab) {
          return aTab.linkedBrowser.currentURI.spec;
        }).join('\n')
      );
      return;
    }
  }
  // Normal operation
  alert(tab.linkedBrowser.currentURI.spec);
},

If you hand an object to MultipleTabService.getBundledTabsOf() method as the second argument, you can get the <tabbrowser/> element which is the owner of dragged tabs, and the owner window (DOMWindow) of the <tabbrowser/>. For example, this codes removes original dragged tabs if they are dropped to another window:


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;
    }
  }
  ...
},

How to cancel drag and drop of multiple tabs?

When you select multiple tabs and start to drag one of them, then Multiple Tab Handler detects the operation and process your action as "drag and drop of multiple tabs". If you want to cancel this behavior and you want to define custom operations for dragging of multiple tabs, you have to cancel a custom event "MultipleTabHandler:TabsDragStart" which is fired by Multiple Tab Handler.


var listener = function function(aEvent) {
     switch (aEvent.type) {
       case "MultipleTabHandler:TabsDragStart":
         return aEvent.preventDefault();
   
       case "dragstart":
         // custom operations to start dragging of multiple tabs
         return;
     }
   };

gBrowser.mTabContainer.addEventListener(
  "MultipleTabHandler:TabsDragStart", listener, false);
/* To handle dragstart events before Firefox's default handler
   cancels it, you have to register the listener for the
   capturing phase. */
gBrowser.mTabContainer.addEventListener(
  "dragstart", listener, true);

Adding new menuitem to the popup menu for tab selection

Overlaying to chrome://multipletab/content/multipletab.xul or chrome://browser/content/browser.xul can insert new menu items to the popup menu.

This is a simple example:


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

Adding new menuitem to the context menu on tabs

Overlaying to chrome://multipletab/content/multipletab.xul or chrome://browser/content/browser.xul can do it.

This is a simple example:


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

To indicate the position of the item to be inserted at, use multipletab-insertbefore (or multipletab-insertafter) attribute. The item will be inserted before (or after) the node which is the result of its value evaluated as JavaScript expression. A reference to the popup element, tabContextMenu is available. Following is the example to insert item to the third position from the last.


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

Moreover, you can write XPath expression as value of those attributes. To do it, put a prefix "xpath:" before the expression. When the expression is evaluated, the context node will be tabContextMenu, and the first node of the results will be gotten. For example:


  <menuitem id="context-item-feature3"
    label="Feature 3"
    multipletab-insertbefore="xpath: child::*[last()-1]"/>
  • The menuitems are inserted to the popup at the startup of browsers. If some extension modifies the popup, the result may be changed from your expecting.
  • The menuitems which is really inserted to the DOM tree has a new id from its template. It will be <Original id>-tabbrowser012345. If you control the style of inserted items, you should use class-selector instead of id-selector and so on.

Menu labels for vertical tab bar

You can specify special labels for each menuitems.

If the tabs are shown horizontally (normal), the value of label-horizontal attribute will be shown as its label. If the tab becomes vertically, the value of label-vertical attribute will be used.


  <menuitem id="context-item-feature4"
    label-horizontal="Feature 4, do it for Left Tabs"
    label-vertical="Feature 4, do it for Upper Tabs"/>

How to show/hide/enable/disable extra menuitems?

Setting a new boolean value extensions.multipletab.show.<the id of the menuitem inserted to those popups> controls the appearance of the item.

This extension doesn't include an UI to customize extra menu items inserted by other extensions. If you want to control it in GUI, use an overlay to the resource chrome://multipletab/content/config.xul.

Moreover, you can also control visibility or accessibility of the menuitems dynamically, by their multipletab-available attribute or multipletab-enabled attribute. Values of those attributes are evaluated as JavaScript expressions. The menuitem becomes shown if the value of multipletab-available attribute equals true, otherwise it becomes hidden. The menuitem becomes enabled if multipletab-enabled equals true, otherwise disabled.


  <menuitem id="context-item-myservice-feature"
    label="A feature for 3 or more selected tabs"
    multipletab-available="MyService.available()"
    multipletab-enabled="selectedTabs.length &gt; 3"/>

The menuitem in the sample above will be shown when the returned value of MyService.available() equals true, and it will be enabled when three or more tabs are selected. You can use following variables in expressions:

tabbrowser
The DOM node of tabbrowser element. Same to gBrowser.
tabs
An array of all tabs in the tabbrowser. Same to Array.slice(gBrowser.mTabContainer.childNodes).
selectedTabs
An array of selected tabs in the tabbrowser. Same to MultipleTabService.getSelectedTabs(gBrowser).

Visibility of menuitems is controlled by both extensions.multipletab.show.id (default=true) and multipletab-available (default=true). The menuitem will be shown when both equal true. In other words, the item will be hidden when one or all of them equals false.

History There is the updating history and the list of known problems.

3.1.12 (2024.2.8)
  • Optimize for future releases of Tree Style Tab.
  • Use icon color same to Firefox 120.
3.1.11 (2022.11.3)
3.1.10 (2021.10.1)
3.1.9 (2020.9.29)
  • Open optiosn page correctly by clicking on the permission notification.
  • Fix wrong behaviors of "All Configs" UI: apply imported configs to options UI immediately and treat decimal values as valid for some numeric options.
3.1.8 (2020.8.5)
  • Notify new features with a desktop notification instead of an annoying tab.
3.1.7 (2020.8.5)
  • The option to list tabs hidden by other addons didn't work as expected.
3.1.6 (2020.8.4)
  • Add an option to list tabs hidden by other addons.
3.1.5 (2020.7.30)
  • Better support for hidden tabs. (Fixed broken selection from dragging on tabs.)
3.1.4 (2020.7.29)
  • Better support for hidden tabs. (Hidden tabs won't be listed and multiselected anymore.)
3.1.3 (2020.4.28)
  • Recommend to use right click to show the menu instead of left click.
  • Respond to click on the bottom caption as instructed.
  • Show in-content confirmation dialog correctly on lately versions of Firefox.
  • Remove keyboard shorctut customization UI, because Firefox ESR68 has it.
  • Update zh_CN locale by NightSharp. Thanks!
3.1.2 (2020.1.24)
  • Don't start "long-press" selection of tabs in Tree Style Tab's sidebar with simple left click even if it take too much time.
  • Show options page after localized messages become ready.
3.1.1 (2019.12.27)
  • Suppress error on click at TST sidebar.
3.1.0 (2019.12.27)
  • Support Dark mode of the platform.
  • Show the fake context menu in TST's sidebar on the operated window correctly.
  • Clear "multiselected" appearance of tabs in TST's sidebar correctly after multiselection state is changed by someone.
  • Don't start selection of items by dragstart on a checkbox in the popup panel anymore, to prevent misoperation around clicking on a checkbox.
  • Expand clickable area of each checkboxe to fill the height of the tab item itself, to prevent misoperation around clicking on a checkbox.
  • Handle Command-click on the popup panel correctly.
  • Keep selection after a non-highlighted tab is closed, to respect Firefox's behavior.
  • Unlocalize the name of this addon.
3.0.10 (2019.8.8)
  • Remove obsolete codes deprecated at Firefox 70.
3.0.9 (2019.7.1)
  • Clear "ready to select" state of tabs in Tree Style Tab's sidebar correctly when the multiselection state is cleared by other addons.
3.0.8 (2019.6.19)
  • Fix compatibility issue with TST 3.0.8 and later. Deselection with Ctrl-click works again.
  • Add ability to open the options page from a notification for a required permission.
3.0.7 (2019.5.24)
  • IMPORTANT SECURITY NOTE: All versions MTH 2.x and MTH 3.x older than MTH 3.0.7 had a data disclosure problem via API for other addons. Sensitive tab information including private window tabs were unintentionally exposed to untrusted addons, regardless they were not have permissions to access those information via WebExtensions API. I strongly recommend you to update to MTH 3.0.7 and later. Please see detailed information also.
  • Never return tabs in private windows via the API.
  • Never expose title, url, favIconUrl and cookieStoreId to API responses.
  • Add an extra property windowId for tab-selection-command type messages.
3.0.6 (2019.5.24)
  • Highlight mutiselected tabs correctly when Tree Style Tab allows to notify messages from private windows.
  • Suppress error for context menu on non-tab area of Tree Style Tab.
  • Add ability to export and import all configurations except keyboard shortcuts. (Options => "Development" => "Debug mode" => "All Configs" => "Import/Export")
3.0.5 (2019.2.19)
  • Shift-click on popup panel should select tabs. (regression on recent versions)
  • Follow to changes of the theme on Tree Style Tab 2.7.19.
3.0.4 (2019.1.13)
  • Multiselect collapsed tree of Tree Style Tabs more correctly.
  • Don't updated highlighted status of Firefox tabs while dragging on the panel. Firefox tabs are highlighted after the dragged range is determined.
  • Clear selection after multiselection is cleared by other addons correctly.
  • Use more pale color for multiselecting tabs on Tree Style Tab.
3.0.3 (2019.1.11)
  • Fix odd multiselection behavior on Ctrl/Shift-click on Tree Style Tab's collapsed tree. (regression)
3.0.2 (2019.1.3)
  • Allow to autoscroll the popup panel while dragging.
  • The "Invert Selection" command now works on native context menus.
  • Show "Invert Selection" command in the context menu on the tab bar.
  • Add ability to control timeout to detect "long press" on the sidebar of Tree Style Tab.
  • Don't start multiselection of tabs by long press on already-multiselected tab, on the sidebar of Tree Style Tab.
  • Separated config checkboxes to activate drag selection on the panel and the sidebar of Tree Style Tab.
3.0.1 (2018.12.22)
  • Optimize/fix performance regression around changing of tab focus by Lej77. Thanks!
3.0.0 (2018.12.22)
  • Drop support for Firefox 63 and older versions. Now this addon concentrates to provide ability to select multiple tabs by dragging.
  • No longer support special commands for selected tabs. To reintroduce those features, please install other addons supporting Firefox's native multiselection. For example: Copy Selected Tabs to Clipboard, Save Selected Tabs to Files, and Tab Mover
2.2.5 (2018.11.30)
  • Update visibility of context menu items more certainly.
  • Save removal of "copy to clipboard" formats correctly.
  • Don't show horizontal scrollbar for options.
  • Don't set global "highlighted" status for "to be closed" tabs, for better compatibility with other addons.
2.2.4 (2018.11.3)
  • Initialize and update context menu certainly just before it is opened.
  • Introduce new API remove-all-selected-tab-commands for other addons.
2.2.3 (2018.10.31)
  • Fix inaccessible context menu item in TST's sidebar.
2.2.2 (2018.10.19)
  • Apply theme color to toolbar button icon only when it is intentionally activated with svg.context-properties.content.enabled = true.
2.2.1 (2018.10.18)
  • Match color of toolbar button icon to the current theme on Firefox 62 and later.
2.2.0 (2018.10.18)
  • Better clipboard support on Firefox 63. When the data is only plain text, "copy to clipboard" command will be done safely and successfully even if there is only unprivileged tabs, e.g. addons.mozilla.org or about: pages.
  • Download tabs with unique file names.
  • Select all collapsed descendants of Tree Style Tab correctly, even if there are mixed collapsed/expanded subtree.
2.1.4 (2018.8.30)
  • Allow to get permission without toolbar button, by Lej77. Thanks!
  • Keep selection after a context menu command is invoked, by default.
  • Don't show different type window to the list of "Move to Other Window".
  • Update context menu items correctly, even if "auto open after drag selection" behavior is disabled.
  • Allow to click sound button in Tree Style Tab sidebar without clearing selection.
  • Select collapsed descendants (Tree Style Tab) of the active tab also, when any other tab is selected by ctrl-click.
2.1.3 (2018.8.26)
  • Support multiselection of tabs on Firefox 63 and later. Tabs selected by this addon are treated as selected on the native multiselection feature.
  • The "zh-CN" locale is added by yfdyh000. Thanks!
2.1.2 (2018.8.20)
  • Open selection menu correctly on the selection panel. (Now the menu is opened after items are completely updated.)
2.1.1 (2018.8.20)
  • Fix unexpected recursion around loading of favicons. (regression on 2.1.0)
  • Fix misordernig of input fields to define keyboard shortcuts. (regression on 2.1.0)
2.1.0 (2018.8.17)
  • Totally reconstructed as ES modules, for better maintainability.
  • Behave like tab selection on Google Chrome and lately Firefox. (One of rest selected tabs is activated when the active tab is unselected, Ctrl-Shift-Click adds tabs between two last clicked tabs to the selection.)
  • Add ability to change size of the panel and font.
  • Add ability to deactivate drag-selection after long press on Tree Style Tab's sidebar.
  • Add ability to deactivate integration with Tree Style Tab.
  • Support per-window selection.
  • Suppress errors for unavailable Tree Style Tab addon.
  • Show toolbar button icons with opacity
2.0.13 (2018.5.30)
  • Add ability to switch color scheme to Dark theme.
  • Make configuration categories collapsible.
  • Close the fake context menu immediately when any item is clicked.
  • Keyboard operations affects correctly for the fake context menu even if the cursor is on any separator.
  • Save cached external addons correctly.
2.0.12 (2018.5.16)
  • Execute command in the fake context menu, by an access key without Enter, when there is no other command with same access key.
2.0.11 (2018.5.14)
  • Reduce flicking of tab selection while dragging.
  • Show icon for the root contest menu item.
  • Handle keyboard operations around the fake context menu and fake confirmation dialog on keydown. This behavior is same to native UI.
  • Show menu label correctly even if it has an access key.
  • Features require special permissions now work again. (regression)
2.0.10 (2018.3.7)
  • Make compatible to Tree Style Tab 2.4.17 and later.
2.0.9 (2018.2.11)
  • Reformat keys of localized messages matching to the spec.
2.0.8 (2018.2.11)
  • Implement "suspend" and "resume" for selected tabs. ("suspend" is available only on Firefox 59 and later.)
  • Keyboard shortcuts for commands are now customizable on Firefox 60 and later. (No keyboard shortcut is defined by default.)
  • Better behavior and keyboard operation handling of fake context menu.
  • Don't apply indent for %TST_INDENT(...)% when tree of tabs are partially selected.
  • Reformat keys of localized messages matching to the spec.
2.0.7 (2018.2.1)
2.0.6 (2018.1.25)
  • Add "Create New Group" command for selected tabs (requires Tree Style Tab.)
  • Make some permissions optional.
  • Control visibility of the menu item "Mute Tabs" correctly.
2.0.5 (2017.12.1)
  • Add new command "Move Tabs to Other Window".
  • Don't move scroll position when a text is copied to the clipboard.
  • On Tree Style Tab's sidebar, selected tabs are now draggable to move.
  • Use white icon for the toolbar button on the "Dark" theme.
  • Item selection behavior in the toolbar button panel becomes more natural like generic list UI.
  • Don't open menu by right cick when there is no selection.
  • Show menu-like UI with more menu-like appearance.
  • Don't reopen menu after outside area is clicked.
  • Copy plain text data more safely.
2.0.4 (2017.11.15)
  • Implement "bookmark selected tabs" command.
  • Implement "move selected tabs to new window" command.
  • Add Markdown format to default "copy to clipboard" formats.
2.0.3 (2017.10.14)
  • Command(⌘)-Click correctly toggles selection on macOS.
  • Allow to drag selected tabs on Tree Style Tab's sidebar.
  • Allow to select multiple tabs by simple click on checkboxes in the toolbar panel.
  • Open Tree Style Tab's fake context menu on dragend after updated menu items are completely applied.
2.0.2 (2017.10.13)
  • Treat Command(⌘)-Click same as Ctrl-Click on macOS.
2.0.1 (2017.10.13)
  • Support Ctrl-Click and Shift-Click on the panel.
  • Add an option to activate "Select and Do" panel even if Tree Style Tab is available.
2.0 (2017.10.13)
  • Rebuilt on WebExtensions.
0.8.2017061501
  • Works on Nightly 56.0a1.
  • Drop support for Firefox 51 and older versions.
  • Allow to drop multiple local files to the tab bar, on Firefox 52 and later.
  • Fix German label for config.useEffectiveTLD.enabled (thanks to Ulf Rompe!)
0.8.2016111701
  • Unpin selected tabs more safely.
  • Now you can duplicate the current tab by Shift-Click or Middle-Click on the menu item.
0.8.2016090602
  • Remove needless codes
0.8.2016090601
  • Tear off dragged selected tabs on Firefox 47 and later correctly.
  • Fix regression around animation of non-dragged tabs.
0.8.2016090501
  • Fix regression around drag and drop of non-tab objects onto the tab bar.
0.8.2016090401
  • Drop support for obsolete (already unpublished) addons: "Print All Tabs" and old "Tab Groups".
  • "Save selected tabs into a folder" feature works correctly again on Firefox 51 and later.
0.8.2016083001
  • Add a new command for selected tabs: Remove Selected Tabs from Bookmarks.
  • Better compatibility around "duplicate selected tabs" feature, with other addons.
  • Set selection of tabs more correctly by Shift-Click, when there is any invisible tab hidden by Tree Style Tab addon or others.
  • Re-encode spaces into %20 to not break URIs copied from tabs (by Infocatcher. Thanks!)
  • ru locale is updated (by Infocatcher. Thanks!)
0.8.2015113001
  • Add "Mute/Unmute Tabs" features for all/selected tabs.
  • Support Tab Utilities Fixed's "Move to Window" menu for selected tabs.
  • The feature "Bookmark selected tabs" and the property dialog of bookmark folders now work correctly.
  • ru locale is updated by Netanyahu. Thanks!
0.8.2015111101
0.8.2015111001
  • Works on Firefox 40 and later.
  • Add "Select Similar Tabs" to the tab context menu and "Invert Selection" to the selection menu,
  • The feature "Bookmark selected tabs" and the property dialog of bookmark folders now work correctly.
  • Message from content area are correctly handled even if tabs' remoteness is dynamically changed.
0.8.2015030601
0.8.2015022701
  • Works again on Firefox 36 and later.
  • Place duplicated tabs next to the source tabs.
  • Duplicate selected tabs by ctrl-drag-and-drop in same window correctly.
  • Duplicate ctrl-drag-and-dropped tabs from another window correctly.
  • Never show warning for closing multiple tabs if the number of closing tabs are less than the maximum number of restorable tabs.
  • Fix UI for extensions.multipletab.tabdrag.delay preference. (By Infocatcher. Thanks!)
0.8.2014102201
  • Drop support for Firefox 30 and older versions.
  • Works correctly on the multi-process mode (E10S).
  • Add an option to enable/disable the feature: "Close tabs if closeboxes in tabs are selected by dragging."
  • Toggle locked state of selected tabs correctly.
  • Works on Nightly 33.0a1 with the preference dom.compartment_per_addon=true.
0.7.2014050101
  • Fix too small feedback square for ready-to-close tabs with Australis on Linux.
0.7.2014043001
  • Better compatibility with Tab Mix Plus. (regression)
0.7.2014042701
  • Works on Firefox 31.0a1.
  • Drop support for Firefox 23 and olders.
  • Improved: Pending tabs are not loaded if it is not needed when you choose "copy URI of tabs" menu item.
0.7.2013100801
  • Support "Close Tabs to Right" feature on Firefox 24 and later. Multiple Tab Handler's own feature is disabled if it is provided by Firefox itself.
  • Works on Firefox 25 and later.
0.7.2013052901
  • Improved: Show unnamed tab groups in the "Move to Group" popup.
  • Improved: Add support of rich text format for the "copy to clipboard" feature. Now "%RT%" keyboard means "copy the result as a rich text HTML to the clipboard". (by Yue Hu (ximellon). Thanks!)
  • Improved: Make help topics readable, about placeholders for "Copy URIs of Tabs" (by Infocatcher. Thanks!)
  • Modified: Update codes around session store API.
0.7.2013040601
  • Fixed: Move all selected tabs to a newly opened window correctly on Firefox 19 and later.
  • Update "ru" locale (by Infocatcher)
  • Update "zh-TW" locale (by HJL)
  • Modified: "jar" archive is no longer included.
0.7.2012122901
  • Works on Nightly 20.0a1.
  • Improved: A new special character pattern "%TAB%" (means a horizontal tab character) is available for "copy selected tabs" feature.
  • Improved: Support "suspend tabs" and "resume tabs" commands with Suspend Tab and UnloadTab.
  • Fixed: "Save selected tabs" works correctly again. (regression)
  • Fixed: Move selected tabs by drag and drop correctly even if the dragging action is started on a not-primary selected tab.
  • Fixed: Move selected tabs to a new window correctly when they are dropped outside of the window, on lately versions of Firefox.
0.7.2012111301
  • Fixed: "Reload selected tabs" works correctly.
  • Fixed: "Save selected tabs" works correctly on lately Nightly.
  • Fixed: "Save selected tabs" sometimes failed on Windows. Now it works stably.
0.7.2012111001
  • Updated for Nightly 19.0a1.
  • Drop support for versions older than Firefox 10.
  • Improved: Dragged multiple tabs are now animated (on Firefox 17 beta and later.)
  • Fixed: To-be-restored tabs were lost by multiple tabs operations (ex. new window from selected tabs.) Now they are restored safely.
  • Fixed: Hide "Move to Group" menu item on tabs, if user don't use Panorama
  • Fixed: Shift-click could select wrong tabs.
0.7.2012020901
  • Updated for Nightly 13.0a1.
  • Drop support for Firefox 3.6.
  • Fixed: Some menu items in the context menu for selected tabs couldn't be hidden by user preferences.
  • Fixed: We couldn't create bookmarks from selected tabs on lately Nightly.
0.6.2011120101
  • Improved: Dragging on closeboxes in tabs can be started with delay. (The delay can be customized via the secret preference "extensions.multipletab.tabdrag.close.delay". Default value is "0".)
  • Improved: Now, after Multiple Tab Handler or Tab Mix Plus is uninstalled or disabled, MTH restores previous preferences about Ctrl/Shift-Click on tabs for each addon.
  • Fixed: Tab selection is cleared (just like file selection) when one of selected tabs is clicked.
  • Fixed: Closeboxes in tabs were wrongly sensitive on outside 1px.
0.6.2011092901
  • Note: This version (and older versions) is incompatible to Firefox 8 or later due to the bug 455694 and 674925.
  • Improved: Now you can cancel dragging operation (to select tabs) by the ESC key.
  • Improved: Selection behavior becomes similar to the one for range selection of text and so on. Old versions simply toggled the selected state by hovering on each tab.
  • Fixed: "Close Left (Above) Tabs" don't close pinned tabs.
  • Fixed: "Close Left (Above) Tabs" and "Close Right (Below) Tabs" were wrongly disabled when there are some tabs in other groups of Panorama.
  • ru-RU locale is updated by Netanyahu.
0.6.2011082901
  • Note: This version (and older versions) is incompatible to Firefox 8 or later due to the bug 455694 and 674925.
  • Improved: Implicitly selection behavior for the current tab can be customizable.
  • Improved: Warning for closing multiple tabs can be costomized by the new pref "extensions.multipletab.warnOnCloseMultipleTabs". ( -1 =use "browser.tabs.warnOnClose", 0 =no warning, 1 =show warning)
  • Improved: New place holders for meta info: %AUTHOR% , %AUTHOR_HTMLIFIED% , %DESCRIPTION% , %DESCRIPTION_HTMLIFIED% , %KEYWORDS% , and %KEYWORDS_HTMLIFIED% .
  • Fixed: Failed to drag single tab if a tab is selected.
  • Fixed: Some tabs were not selected by quick select. (Thanks titoBouzout!)
  • Fixed: Context menu on the content are was unexpectedly blocked.
  • Modified: Menu labels in the selection menu are shorten. (ja-JP locale)
  • ru-RU locale is updated by Netanyahu.
0.6.2011051101
  • Improved: Multiple Tab Handler can completely ignore Ctrl(Command)-Click on tabs by the preference.
  • Fixed: "Close Other Tabs" should not close pinned tabs.
  • Fixed: Ctrl(Command)-Click on the current tab didn't select the tab itself.
  • Fixed: On Firefox 4, dropped tabs onto toolbar items in the tab bar were unexpectedly ignored.
  • Fixed: Works with Locationbar2.
  • Fixed: When Personal Titlebar is installed, initializing process was wrongly called twice.
  • Fixed: Compatibility issue about TabDNDObserver of Tab Mix Plus gone.
  • Updated: French locale is available, translated by Jean-Philippe Fleury.
  • Updated: zh-CN locale is updated by hzhbest.
0.6.2011020301
0.6.2011011701
  • Improved: For Minefield, "Pin as App Tab", "Unpin Tab" and "Move to Group" are available for selected tabs.
  • Fixed: On Minefield, tab selection is cleared when the Panorama is activated.
0.6.2011011102
  • Modified: API changing. You can get values via getData() from events fired with old names (without "nsDOM" prefix).
0.6.2011011101
  • Fixed: The popup for selected tabs was unexpectedly when you switch to a background tab.
  • Modified: Highlighted closeboxes in "to-be-closed" tabs are less prominent.
  • Modified: API changing. API based on DOM Events are now sent as DataContainerEvent as new event types with "nsDOM" prefix, due to security restrictions on Minefield. (You can still use old API based on property access, but it doesn't work on Firefox 4 (and later) in some cases. Instead, you should use aEvent.getData(property name) to get the value from the event object.)
0.6.2010121701
  • Improved: Tabs under different user's home (pages under different /~username/ ) are handled as "different website". (To disable this new feature, set extensions.multipletab.checkUserHome=false )
  • Modified: Use "multiselected" instaead of "multipletab-selected". (For compatibility, old attribute is still available.)
  • Fixed: Tabs can't be dragged if there is Tab Mix Plus.
  • Fixed: Some entries in the ru-RU locale are reverted to the previous version.
0.6.2010120202
  • Fixed: When multiple tabs are dropped into a bookmarks tree, they are bookmarked correctly.
  • Improved: On Minefield, to-be-restored tabs can be bookmarked by drag and drop.
0.6.2010120201
  • Modified: On Firefox 3.6 or olders on Windows, the cursor while multiple tabs are dragged is shown with default drag-and-drop style. (due to a bug of Firefox itself: Firefox cannot show a drag feedback image for dragging of multiple items via HTML5 drag and drop events.)
  • Fixed: Styles for closeboxes of to-be-closed tabs were too annoying.
0.6.2010120101
  • Drop support for Firefox 3.0.
  • Improved: Implementations are updated based on HTML5 Drag and Drop API. Now Multiple Tab Handler sets multiple data to the data transfer and provides drag feedback image for multiple tabs.
  • Improved: Now a custom event "MultipleTabHandler:TabsDragStart" is fired just before Multiple Tab Handler start to drag multiple tabs. By canceling it (you can call preventDefault() of the event) you can override behaviors for dragging of multiple tabs.
  • Fixed: Configuration dialog of Menu Editor can be opened correctly.
  • Fixed: Closeboxes of to-be-closed tabs are highlighted more clearly.
0.5.2010111401
  • Following up changes about tabs on Minefield.
  • Fixed: On Minefield, sessions are restored correctly.
0.5.2010070301
  • Fixed: Checkboxes for other addons are correctly initialized on Minefield 4.0b2pre.
  • Fixed: Works correctly even if Tree Style Tab is not installed. (regression on 0.5.2010062901)
0.5.2010062901
  • Fixed: Auto-scrolling while dragging on the tab bar works correctly on Minefield 3.7a6pre.
  • ru-RU locale is updated by L'Autour.
0.5.2010043001
  • Improved: On a poor PC, just clicking a background tab (for switching to the tab) never starts selecting of the clicked tab. In old versions, clicking on background tabs started selecting of tabs even if you don't want to do it because Firefox can take time between mousedown and mouseup.
  • Fixed: "multipletab-available" attribute without preference key "extensions.multipletab.show.*" works correctly.
0.5.2010040201
0.5.2010032901
  • Fixed: es-ES locale was broken.
0.5.2010032801
  • Improved: Works on Minefield 3.7a4pre.
  • Fixed: Dragging of multiple tabs into the bookmarks sidebar creates multiple bookmarks correctly.
  • Fixed: The URI of unloaded tabs by BarTab is correctly saved.
  • es-ES locale is updated by tito.
  • ru-RU locale is updated by Netanyahu.
  • it-IT locale is updated by Godai71.
0.5.2010020801
  • Modified: Now, "Close Similar Tabs" closes the specified tab too.
  • Improved: New feature "Close Other Similar Tabs" is available. It works like as "Close Similar Tabs" in older versions.
  • Fixed: "Save Tabs" works correctly.
  • Fixed: Combination with BarTap works correctly.
0.5.2010020301
  • Improved: Tapped tabs by BarTap are just loaded when you choose "reload" action.
  • Fixed: Obsolete entry was possibly left to the "undo close tab" history, on Firefox 3.6.
  • zh-CN locale is updated by hzhbest.
  • ru-RU locale is updated by Netanyahu.
0.5.2010012001
  • Fixed: Floating panels (ex. Echofon) stay open even if multiple tabs are closed.
  • Fixed: Broken drag-and-drop of bookmarks disappeared when works with Tree Style Tab.
  • Improved: "Lock tab" for selected tabs is available when Super Tab Mode is installed.
  • Improved: "Lock", "protect" and "freeze" for selected tabs are available when Tab Utilities is installed.
  • it-IT locale is updated by Godai71.
  • hu-HU locale is updated by Mikes Kaszmán István.
0.5.2010011601
  • Improved: When selected tabs are dropped to bookmarks menu or tree, then multiple bookmarks are created for selected tabs.
  • Improved: Behavior of shift-click on tabs becomes customizable.
  • Improved: When Tab Mix Plus is installed, Multiple Tab Handler confirms which addon should handle ctrl-click and shift-click on tabs.
  • Fixed: "$1" in titles and URIs of selected tabs broke copied text.
  • Fixed: With Tree Style Tab, whole of expanded tree which had "collapsed" state internally were wrongly selected.
  • Improved: MultipleTabHandlerTabsClosing DOM event is fired when multiple tabs are being closed, and MultipleTabHandlerTabsClosed DOM event is fired just after tabs are closed.
  • Improved: Now you can undo/redo operations for multiple tabs by Undo Tab Operations.
  • de-DE locale is available, translated by mpeters and saskia_br.
  • pl-PL locale is available, translated by Jacek ChrzÄ…szcz.
  • ru-RU locale is updated by Netanyahu.
  • it-IT locale is updated by Godai71.
0.5.2009110501
  • Works on Minefield and Firefox 3.6.
  • Drop Firefox 2 support.
  • Fixed: More safer code.
  • Fixed: Mismatch of real tab state vs. stored session disappeared.
  • Fixed: For indented tabs, mousemove events are ignored if they are fired on blank areas.
0.4.2009073101
  • Improved: Tree structure of Tree Style Tab is saved to the bookmarks.
  • Fixed: "Bookmark selected tabs" and "Bookmark all tabs" work correctly even if Tab Mix Plus is installed.
  • hu-HU locale is updated by Mikes Kaszmán István
0.4.2009072001
  • Improved: Formats of copied texts becomes customizable. (compatible to Copy URL+)
0.3.2009071601
  • Improved: "Lock Tab", "Protect Tab" and "Freeze Tab" are available for selected tabs, when Tab Mix Plus is installed.
  • Fixed: Dragging on tabs works correctly for multi-row tab bar of Tab Mix Plus.
  • Fixed: Vertical autoscroll is available for multi-row tab bar of Tab Mix Plus.
  • Fixed: For Firefox 3.5, all-tabs-dragging is ignored correctly.
  • zh-CN locale, translated by hzhbest is available.
0.3.2009062901
  • Fixed: Tabs moved between windows are correctly selected/unselected by user preference, on Firefox 3.0.
  • Fixed: Throbber in tabs is correctly shown with Firefox 3.5 on Mac OS X.
  • it-IT locale is updated by Godai71
  • zh-TW locale is updated by Tsprajna
  • hu-HU locale is updated by Mikes Kaszmán István
0.3.2009062301
  • Fixed: The number of closed tabs is shown correctly.
  • Improved: The order to close selected tabs becomes customizable.
  • Improved: Auto-select behavior for tab duplication and moving tab between windows becomes customizable.
  • Updated: it-IT locale update (I forgot to update an entry!)
0.3.2009051501
  • hu-HU locale is updated by Mikes Kaszmán István
0.3.2009051301
  • Improved: Works with Menu Editor more usefully. (Tab selection menu becomes customizable and Menu Editor can be opened from the configuration dialog of Multiple Tab Handler.)
  • Improved: For developers, you can insert new menu items to the tab context menu not only with multipletab-insertbefore but also multipletab-insertafter .
  • Improved: For developers, you can specify insertion position of tab context menu items by XPath expressions, in multipletab-insertbefore or multipletab-insertafter .
  • Modified: The order of inserted items in the tab context menu changed.
  • Modified: By the API, menu items provided by Multiple Tab Handler will be inserted to the tab context menu at first. After it, menu items of other extensions will be done.
0.3.2009051101
  • Improved: Linefeed characters of copied texts to the clipboard are suitable for each platform. (CR+LF for Windows, LF for Linux and Mac OS X)
  • Fixed: Duplication of tabs after another duplication work correctly.
  • zh-TW locale is updated by Tsprajna.
0.3.2009043002
  • Works on Minefield.
0.3.2009043001
  • Fixed: With Split Browser, the window isn't closed even if the last tab in the main pane is moved to another window from an window which have some panes.
0.3.2009042901
  • Improved: "Close Other Tabs" is available for selected tabs. It will close unselected tabs and keep selected tabs open.
  • Improved: "Similar tabs" detection is now based on Effective TLD list of Firefox 3.
  • Improved: Some special characters in URIs or page titles are replaced to their entity references, for "HTML style" copying.
  • Fixed: Wrongly selection for all of tabs (not only duplicated one) after tabs duplicating disappeared.
  • zh-TW locale is available. (translated by Tsprajna)
0.3.2009040901
  • Improved: Auto-scroll for tab draggings is available.
0.3.2009040201
  • Works on Minefield again.
0.3.2009032501
  • Modified: Selected tabs are highlighted even if other addons apply custom styles to tabs.
0.3.2009021201
  • Modified: Some internal operations are optimized.
0.3.2008122801
  • Fixed: Tabs keep their selection after clicks on buttons in the tab bar.
  • Added: ru-RU locale is available. (by L'Autour)
  • Updated: it-IT locale is updated. (by Godai71)
0.3.2008120401
  • Improved: "Print Selected Tabs" is available if Print All Tabs is installed.
  • Improved: You can start to select tabs from spaces of indented tabs if Tree Style Tab is installed.
  • Updated: Hungarian locale is updated by Mikes Kaszmán István.
0.3.2008120201
  • Improved: "Save selected tabs" feature is available.
  • Fixed: The dragged tab itself is correctly selected while mousedown.
  • Improved: Dragging selected tabs and dropping them out of the window tears off them as a new window, on Minefield 3.1b3pre.
0.3.2008111401
  • Modified: Useless checkboxes are automatically disabled by selected mode of tab dragging action.
  • Updated: Italian locale is updated by Godai71.
  • Updated: Spanish locale is updated by tito.
  • Updated: Hungarian locale is updated by Mikes Kaszmán István.
0.3.2008101801
  • Improved: Auto-opening of the popup menu after selecting tabs by dragging can be disabled.
  • Fixed: Groupboxes for menu item checkboxes are expanded in the configuration dialog.
0.3.2008101701
  • Improved: On Minefield 3.1b2pre, multiple tabs are moved from an window to another by drag and drop, without reloading.
  • Improved: On Minefield 3.1b2pre, selected tabs moves to split new window without reloading.
  • Improved: When you drag and drop multiple tabs from an window to another, they are duplicated only if "Ctrl" key (on Mac OS X, "Command" key) is pressed. Otherwise tabs are just moved.
  • Fixed: "Bookmark Selected Tabs" feature works with Tab Mix Plus.
  • Fixed: Some context menu items are hidden by settings correctly.
0.2.2008101501
  • Fixed: Collapsed tabs are correctly closed with Tree Style Tab.
  • Fixed: Works with Menu Edit. Menu items of tab context menu are not duplicated anymore.
  • Fixed: Selected tabs are correctly bookmarked even if Tab Mix Plus is installed.
  • Fixed: "Close Left Tabs" and "Close Right Tabs" are disabled correctly if there is no left/right tabs.
  • Fixed: Context menu items for multiple tabs are correctly hidden for single tab.
0.2.2008050601
  • Italian locale is updated.
0.2.2008050201
  • Fixed: Selected tabs are bookmarked in a new folder correctly on Firefox 3.
0.2.2008040701
  • Modified: Duplicated tabs are selected automatically.
  • Modified: Appearance in Firefox 3 is changed a little.
0.2.2008031001
  • Fixed: "Duplicate Selected Tabs" works correctly.
  • Fixed: Selected tabs are not deselected after a submenu is hidden.
  • Spanish locale is available. (by tito, Thanks!)
  • Works on Minefield 3.0b5pre.
0.2.2008022801
  • Fixed: "Duplicate Seelcted Tabs" and "Move to New Window" work correctly with Tab Groups.
0.2.2008022701
  • Improved: In Linkwad and Tab Groups, you can move multiple tabs from a group to another by drag and drop.
0.2.2008022502
  • Fixed: Wrongly shown indicator on the tab bar disappeared after you drag multiple selection tabs.
  • Fixed: Order of moved or duplicated tabs which are made by drag and drop of multiple selection tabs are same as before dragging.
0.2.2008022501
  • Updated: Hungarian locale is updated. (by Mikes Kaszmán István)
0.2.2008022402
  • Improved: Duplicating or moving (from another Firefox window) of multiple tabs are available on Firefox 3.
  • Fixed: Selected tabs are correctly highlighted on Firefox 3.
0.2.2008022401
  • Improved: You can drag and drop multiple tabs which are selected.
  • Modified: "duplicateTab" method is added to gBrowser if it doesn't have the method.
0.2.2007111801
  • Improved: With Tree Style Tab, collapsed children tabs are selected if the parent tab is selected.
0.2.2007111301
  • Fixed: Closing multiple tabs by dragging closeboxes works correctly even if Tab Mix Plus is available.
0.2.2007110601
  • Improved: If the drag action is canceled before start dragging, tab selection is cleared and the popup menu doesn't appear.
  • Fixed: Delay is available for tab switching by dragging.
  • Modified: A delay is used for tab selecting or switching by default.
0.2.2007110501
  • Improved: Format of copied text from tabs can be chosen from menu.
  • Improved: Delay is avialable for tab dragging. You can select/switch tabs by dragging after a delay.
  • Added: Italian locale is available. (made by Godai71.Extenzilla)
0.1.2007103101
0.1.2007102501
  • Improved: "Bookmark Selected Tabs" works on Minefield.
0.1.2007061801
  • Fixed: Obsolete separators disappeared from the popup menu for selected tabs and the context menu of tabs.
  • Fixed: A typo in the English locale disappeared.
0.1.2007060601
  • Improved: New features, "Copy URI" and "Close Silimar Tabs" are available.
  • Updated: Hungarian locale is updated.
0.1.2007050701
  • Fixed: Tabs can be moved by dragging on it, not only the favicon but the tab.
  • Fixed: Typo in Japanese locale is corrected.
0.1.2007050601
  • Fixed: Some API become to work correctly.
0.1.2007042601
  • Fixed: Popup menu is shown at the correct position.
0.1.2007042501
0.1.2007042003
  • Improved: "Duplicate Tab" is available.
  • Improved: Implementation to open tabs in new window is improved. It works more quickly.
0.1.2007042002
  • Improved: Icon is available.
  • Improved: "Close All Tabs" is avialable for the context memn on tabs.
  • Improved: "Bookmark Selected Tabs" is available for selection menu.
  • Fixed: Warning dialog disappeared for "Reload Selected Tab".
0.1.2007042001
  • Released.
Last modified:2024/02/09 02:41:45