Duplicate Tab

Introduction

Duplicate Tab allows you to clone a tab with its history and place the duplicate tab in a new window or in the current window. You can also detach a tab so that the tab becomes a window, and you can merge all tabs from different windows into one window.

All actions can be invoked through the tab's context menu or through shortcut-key's:

NOTE: These shortcut keys could differ per localization.
When you prefer to use other shortcut keys than the default ones, you can adjust them to your liking with extensions like keyconfig

You can also Ctrl+Drag tabs to duplicate them. The arrow which indicates the position of where the tab will be placed with normal dragging will change to have a little plus sign to indicate that the tab will be duplicated instead of moved [screenshot]. The new duplicate tab will be positioned at the place the arrow is pointing at.

For merging you can also select tabs by ctrl-clicking on them. When you merge windows only the selected tabs will be merged with the previous focussed window.

Further more Duplicate Tab allows you to open a link in a duplicated tab. This option is available in the context menu of a link [screenshot]. The current tab is first duplicated, along with its history, and then the link is opened in that duplicated tab.
You can also open a link in a Duplicate Tab by Ctrl + middle click on the link, while ctrl + shift + middle clicking a link opens the link in a duplicate tab in a new window. If that is a too uncomfortable way to open a link in a duplicate tab, there are also options which allow you to open a link in a duplicate tab by just middle clicking (shift + middle click to open in a new window) or ctrl + click (shift + click in a new window) on a link [screenshot].

Toolbar Buttons

On Firefox, Duplicate Tab comes with three toolbar buttons: one to duplicate a tab, one to duplicate a tab to a new window and one to detach a tab [screenshot].

If you want to use the buttons, you'll have to manually add the toolbar buttons to one of the toolbars after installing the extension. You can do this by going to View->Toolbars->Costumize..., a window will show up containing a lot of toolbar buttons [screenshot], among which the Duplicate Tab toolbar buttons. Then you can drag the buttons from the window to the desired position in one of the toolbars.
After you're done dragging just click Done on the Costumize Toolbar Window, and then you can use the buttons.

If you just click on the duplicate tab buttons, the current tab will be duplicated. But you can also drag the tab you want to duplicate to one of the buttons, and you can also drag the url from the location bar to duplicate the tab. And if you drag a link from the page you're viewing to the toolbar button, the tab will be duplicated and the link will be opened in that duplicate tab.

Options

Tab Duplication

You can select if you want to automatically focus the duplicate tab, and you can also choose to place the duplicate tab next to the original tab [screenshot].

If you prefer to open middle clicked links in duplicate tabs rather then in normal blank tabs, there is an option added which allows you to set to do so. However, there are links which contain invalid URLs (e.g. javascript: URLs). When you try to open such a link in a duplicate tab, an error message will appear with the option to duplicate the tab anyway without opening the link [screenshot].

New tabs opened from middle clicking or ctrl + clicking (or shift + clicking to open in a new window) on the back and forward buttons and their drop down menus normally won't inherit the history of the original tab. But duplicate tab allows you to set options so the history of the original tab will be inherited by the new tab.

In the Advanced Options section, for tab duplication you can select to enable or disable the cloning of the scroll-position and the text-zoom factor of the page, and you can set how much of the back/forward history you want to be cloned, if you want to clone it.

Merging Windows

When you click 'Merge Windows' in the context menu or invoke this with Accel+Shift+M, standard all windows are merged to one window. But you have the option to select tabs by control-clicking on them [screenshot].

If you have selected some tabs and invoked Merge Windows, only the selected tabs will be merged with the second window (previous focussed window). If some tabs were not selected a warning message will popup that these tabs will be closed along with the window. There is an option added where you can prevent that message from appearing. And you can also select to not close the window from which the selected tabs have been merged if some tabs were not selected [screenshot].

You can also adjust the standard Merge Windows function (when no tabs are selected), to only merge the tabs of the two last focussed windows into one window.

Normally popup windows will also be merged with the tabs of normal windows, but there is an option to not merge popup windows.
If you want the popup windows to be merged, there is also an option which allows the popups to be opened next to the tab containing the page the popup originated from.

Context Menu Items

There are options added to select where you want the context menu items to appear. You can set to have them available in the browser page's context menu and/or in the tab's context menu. There is also an option to select whether you want the context menu items to appear in a Duplicate Tab submenu or not. You can also choose which items you want to have visible ('Duplicate Tab', 'Duplicate Tab To New Window', 'Merge Windows', 'Detach Tab'). [screenshots].

You can position the Duplicate Tab menu items in the tab's context menu, by changing the value of a hidden pref: "duplicatetab.contextMenuItems.position" You can add this line to user.js:

/* change the position of the tab's Duplicate Tab context menu items */
user_pref("duplicatetab.contextMenuItems.position", NUMBER);

Here NUMBER is the desired position (0 being the first position). For this to have effect you have to restart firefox.
However, adding/changing the preference in about:config will have effect immediately.

Options to change with other extensions

Change Shortcut Keys:

The shortcut-keys can be changed if desired with dorando's keyconfig extension.
Apparently there are other extensions which can do that, but personally I've always used keyconfig when I needed to change a shortcut key, not in the least because duplicate keys can be detected

Change Select Tab Event:

The event to select tabs for merging (ctrl-click) can be changed with Tab Clicking Options.

Middle clicking on links with invalid URLs

To allow opening of most links with invalid URLs in a duplicate tab on middle click, there is an extension called Smart Middle Click. This extension is also very convenient when you open links in new (empty) tabs with middle click.

Duplicate Tab With Mouse Gestures

Apparently the extensions All In One Gestures and Mouse Gestures (and maybe others I am not aware of), have Duplicate Tab and Duplicate Window gestures by which the tabs history won't get cloned. Fortunately, you can costumize the mappings in those extensions: To map Duplicate Tabs Duplicate Tab function use the following code:

duplicateTab.duplicateInTab(getBrowser().mCurrentTab);

And to map the Duplicate Tab To New Window function use this code:

duplicateTab.duplicateInWindow(getBrowser().mCurrentTab);

Of course, this code could also be used in other extensions were you can manually map code to certain actions, like for instance with Custom Buttons.

Placing The Duplicate Tab Next To The Original:

In Firefox 1.0 and Mozilla Suite the opening of the duplicate tab next to the original tab can be achieved by installing tablib (or MiniT or MiniT(drag), if you want the other functionality).
In newer versions of Firefox or in Seamonkey installing another extension isn't necessary to get this option.

Changelog

Duplicate Tab 1.0.2 - (5 Jun 08)

Duplicate Tab 1.0.1 - (28 May 08)

Duplicate Tab 1.0 - (27 May 08)

Duplicate Tab 0.9.1 - (22 Aug 07)

Duplicate Tab 0.9 - (18 Jan 07)

Duplicate Tab 0.8.1 - (12 jun 06)

Duplicate Tab 0.8 - (07 Jun 06)

Duplicate Tab 0.7.3 - (28 Mar 06)

Duplicate Tab 0.7.2 - (08 Mar 06)

Duplicate Tab 0.7.1 - (26 Jan 06)

Duplicate Tab 0.7 - (16 Dec 05)

Duplicate Tab 0.6.2 - (20 Oct 05)

Duplicate Tab 0.6.1 - (14 Oct 05)

Duplicate Tab 0.6 - (09 Sep 05)

Duplicate Tab 0.5.1 - (24 Jan 05)

Duplicate Tab 0.5 - (21 Jan 05)

Duplicate Tab 0.4.1 - (5 Jan 05)

Duplicate Tab 0.4 - (3 Jan 05)

Duplicate Tab 0.3.2 - (5 Nov 04)

Duplicate Tab 0.3.1 - (28 0ct 04)

Duplicate Tab 0.3 - (17 Sep 04)

Duplicate Tab 0.2 - (27 Jul 04)

Duplicate Tab 0.1 - (10 Jun 04)