diff --git a/src/browser/base/zen-components/ZenPinnedTabManager.mjs b/src/browser/base/zen-components/ZenPinnedTabManager.mjs
index a6d36c327..18794d8e0 100644
--- a/src/browser/base/zen-components/ZenPinnedTabManager.mjs
+++ b/src/browser/base/zen-components/ZenPinnedTabManager.mjs
@@ -376,6 +376,9 @@
for (let i = 0; i < tabs.length; i++) {
const tab = tabs[i];
tab.setAttribute("zen-essential", "true");
+ if(tab.hasAttribute("zen-workspace-id")) {
+ tab.removeAttribute("zen-workspace-id");
+ }
if (tab.pinned) {
gBrowser.unpinTab(tab);
}
@@ -388,6 +391,9 @@
for (let i = 0; i < tabs.length; i++) {
const tab = tabs[i];
tab.removeAttribute("zen-essential");
+ if(ZenWorkspaces.workspaceEnabled && ZenWorkspaces.getActiveWorkspaceFromCache.uuid) {
+ tab.setAttribute("zen-workspace-id", ZenWorkspaces.getActiveWorkspaceFromCache.uuid);
+ }
gBrowser.unpinTab(tab);
}
}
@@ -407,13 +413,17 @@
document.getElementById('tabContextMenu').appendChild(elements);
const element = window.MozXULElement.parseXULToFragment(`
-
+
`);
- document.getElementById('context_pinTab').after(element);
+ document.getElementById('context_pinTab')?.after(element);
}
resetPinnedTabData(tabData) {
@@ -428,7 +438,10 @@
const isVisible = contextTab.pinned && !contextTab.multiselected;
document.getElementById("context_zen-reset-pinned-tab").hidden = !isVisible || !contextTab.getAttribute("zen-pin-id");
document.getElementById("context_zen-replace-pinned-url-with-current").hidden = !isVisible;
- document.getElementById("context_zen-pin-tab-global").hidden = contextTab.pinned;
+ document.getElementById("context_zen-add-essential").hidden = contextTab.pinned;
+ document.getElementById("context_zen-remove-essential").hidden = !contextTab.getAttribute("zen-essential");
+ document.getElementById("context_unpinTab").hidden = document.getElementById("context_unpinTab").hidden || contextTab.getAttribute("zen-essential");
+ document.getElementById("context_unpinSelectedTabs").hidden = document.getElementById("context_unpinSelectedTabs").hidden || contextTab.getAttribute("zen-essential");
document.getElementById("context_zen-pinned-tab-separator").hidden = !isVisible;
}
}
diff --git a/src/browser/themes/shared/zen-icons/essential-add.svg b/src/browser/themes/shared/zen-icons/essential-add.svg
new file mode 100644
index 000000000..fe1884096
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/essential-add.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/browser/themes/shared/zen-icons/essential-remove.svg b/src/browser/themes/shared/zen-icons/essential-remove.svg
new file mode 100644
index 000000000..5cd39c9b9
--- /dev/null
+++ b/src/browser/themes/shared/zen-icons/essential-remove.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css
index c59bd5ef5..a78485e28 100644
--- a/src/browser/themes/shared/zen-icons/icons.css
+++ b/src/browser/themes/shared/zen-icons/icons.css
@@ -893,11 +893,18 @@ menuitem[contexttype='fullscreen'][label*='Exit'] {
#context_pinSelectedTabs,
#context_unpinSelectedTabs,
.customize-context-moveToPanel,
-#context_zen-replace-pinned-url-with-current,
-#context_zen-pin-tab-global{
+#context_zen-replace-pinned-url-with-current{
--menu-image: url('pin.svg');
}
+#context_zen-add-essential {
+ --menu-image: url('essential-add.svg');
+}
+
+#context_zen-remove-essential {
+ --menu-image: url('essential-remove.svg');
+}
+
.customize-context-removeFromToolbar {
--menu-image: url('unpin.svg');
}