diff options
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | src/background/actions/operation.js | 2 | ||||
-rw-r--r-- | src/background/tabs.js | 6 | ||||
-rw-r--r-- | src/shared/default-settings.js | 1 | ||||
-rw-r--r-- | src/shared/operations.js | 1 |
5 files changed, 10 insertions, 1 deletions
@@ -36,6 +36,7 @@ The default mappings are as follows: - <kbd>r</kbd>: reload current tab - <kbd>R</kbd>: reload current tab without cache - <kbd>zp</kbd>: toggle pin/unpin current tab +- <kbd>zd</kbd>: duplicate current tab ### Navigation - <kbd>f</kbd>: start following links in the page diff --git a/src/background/actions/operation.js b/src/background/actions/operation.js index d0caf80..9876940 100644 --- a/src/background/actions/operation.js +++ b/src/background/actions/operation.js @@ -35,6 +35,8 @@ const exec = (operation, tab) => { return tabs.updateTabPinned(tab, false); case operations.TAB_TOGGLE_PINNED: return tabs.toggleTabPinned(tab); + case operations.TAB_DUPLICATE: + return tabs.duplicate(tab.id); case operations.ZOOM_IN: return zooms.zoomIn(); case operations.ZOOM_OUT: diff --git a/src/background/tabs.js b/src/background/tabs.js index 23b3b7b..d641616 100644 --- a/src/background/tabs.js +++ b/src/background/tabs.js @@ -111,8 +111,12 @@ const toggleTabPinned = (current) => { updateTabPinned(current, !current.pinned); }; +const duplicate = (id) => { + return browser.tabs.duplicate(id); +}; + export { closeTab, reopenTab, selectAt, selectByKeyword, getCompletions, selectPrevTab, selectNextTab, selectFirstTab, selectLastTab, reload, - updateTabPinned, toggleTabPinned + updateTabPinned, toggleTabPinned, duplicate }; diff --git a/src/shared/default-settings.js b/src/shared/default-settings.js index e45bee6..14f48be 100644 --- a/src/shared/default-settings.js +++ b/src/shared/default-settings.js @@ -33,6 +33,7 @@ export default { "r": { "type": "tabs.reload", "cache": false }, "R": { "type": "tabs.reload", "cache": true }, "zp": { "type": "tabs.pin.toggle" }, + "zd": { "type": "tabs.duplicate" }, "zi": { "type": "zoom.in" }, "zo": { "type": "zoom.out" }, "zz": { "type": "zoom.neutral" }, diff --git a/src/shared/operations.js b/src/shared/operations.js index 1aa4227..f63f7ca 100644 --- a/src/shared/operations.js +++ b/src/shared/operations.js @@ -42,6 +42,7 @@ export default { TAB_PIN: 'tabs.pin', TAB_UNPIN: 'tabs.unpin', TAB_TOGGLE_PINNED: 'tabs.pin.toggle', + TAB_DUPLICATE: 'tabs.duplicate', // Zooms ZOOM_IN: 'zoom.in', |