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