diff --git a/locales/en-US/browser/browser/preferences/zen-preferences.ftl b/locales/en-US/browser/browser/preferences/zen-preferences.ftl index 7b304613c..c803f7304 100644 --- a/locales/en-US/browser/browser/preferences/zen-preferences.ftl +++ b/locales/en-US/browser/browser/preferences/zen-preferences.ftl @@ -357,3 +357,4 @@ zen-devtools-toggle-dom-shortcut = Toggle DOM zen-devtools-toggle-accessibility-shortcut = Toggle Accessibility zen-close-all-unpinned-tabs-shortcut = Close All Unpinned Tabs zen-new-unsynced-window-shortcut = New Blank Window +zen-duplicate-tab-shortcut = Duplicate Tab \ No newline at end of file diff --git a/src/browser/base/content/zen-commands.inc.xhtml b/src/browser/base/content/zen-commands.inc.xhtml index de2cec15d..4f9e0fca9 100644 --- a/src/browser/base/content/zen-commands.inc.xhtml +++ b/src/browser/base/content/zen-commands.inc.xhtml @@ -66,4 +66,6 @@ + + diff --git a/src/zen/common/zen-sets.js b/src/zen/common/zen-sets.js index 6d539836c..1a1acb728 100644 --- a/src/zen/common/zen-sets.js +++ b/src/zen/common/zen-sets.js @@ -143,6 +143,14 @@ document.addEventListener( ZenLiveFoldersManager.handleEvent(event); break; } + case "cmd_zenDuplicateTab": { + const selectedTabs = gBrowser.selectedTabs; + let insertAt = selectedTabs.at(-1)._tPos + 1; + for (const tab of selectedTabs) { + gBrowser.duplicateTab(tab, true, { tabIndex: insertAt++ }); + } + break; + } default: gZenGlanceManager.handleMainCommandSet(event); if (event.target.id.startsWith("cmd_zenWorkspaceSwitch")) { diff --git a/src/zen/kbs/ZenKeyboardShortcuts.mjs b/src/zen/kbs/ZenKeyboardShortcuts.mjs index bceb9e66b..351bfd0a5 100644 --- a/src/zen/kbs/ZenKeyboardShortcuts.mjs +++ b/src/zen/kbs/ZenKeyboardShortcuts.mjs @@ -832,7 +832,7 @@ class nsZenKeyboardShortcutsLoader { } class nsZenKeyboardShortcutsVersioner { - static LATEST_KBS_VERSION = 16; + static LATEST_KBS_VERSION = 17; constructor() {} @@ -1196,6 +1196,22 @@ class nsZenKeyboardShortcutsVersioner { } } + if (version < 17) { + // Migrate from version 16 to 17. + // Add shortcut to Duplicate Tab + data.push( + new KeyShortcut( + "zen-duplicate-tab", + "", + "", + "windowAndTabManagement", + nsKeyShortcutModifiers.fromObject({}), + "cmd_zenDuplicateTab", + "zen-duplicate-tab-shortcut" + ) + ); + } + return data; } }