diff --git a/l10n b/l10n index d875087d..f6bd0f90 160000 --- a/l10n +++ b/l10n @@ -1 +1 @@ -Subproject commit d875087d8795ee1bc91a00e007b358b163ab7386 +Subproject commit f6bd0f902f7b030f43407d7613a70f5d83cb95b5 diff --git a/src/browser/app/profile/zen-browser.js b/src/browser/app/profile/zen-browser.js index 0f4d48df..89ae3efe 100644 --- a/src/browser/app/profile/zen-browser.js +++ b/src/browser/app/profile/zen-browser.js @@ -107,6 +107,7 @@ pref('zen.splitView.working', false); // Zen Workspaces pref('zen.workspaces.enabled', true); +pref('zen.workspaces.hide-default-container-indicator', true); pref('zen.workspaces.icons', '["🌐", "📁", "📎", "📝", "📅", "📊"]'); // Zen Watermark diff --git a/src/browser/base/content/zen-components b/src/browser/base/content/zen-components index b372ec26..c9c5c94e 160000 --- a/src/browser/base/content/zen-components +++ b/src/browser/base/content/zen-components @@ -1 +1 @@ -Subproject commit b372ec2694039dc347b35d977afa0c5cd81a5ca2 +Subproject commit c9c5c94e8d4d9f306bfe73fc79b153d9b979533e diff --git a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css index 4832b385..1fef1f93 100644 --- a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css +++ b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css @@ -199,7 +199,7 @@ display: none; } - .tabbrowser-tab::after { + .tabbrowser-tab::before { /* Containers */ background: var(--identity-tab-color, transparent); border-radius: 2px; @@ -213,6 +213,12 @@ pointer-events: none; } + @media (-moz-bool-pref: 'zen.workspaces.hide-default-container-indicator') { + .tabbrowser-tab[zenDefaultUserContextId='true']::before { + display: none; + } + } + .tabbrowser-tab { margin-inline-start: 0; margin: 0 auto; diff --git a/src/browser/components/preferences/zen-settings.js b/src/browser/components/preferences/zen-settings.js index 034d67aa..b1a543c7 100644 --- a/src/browser/components/preferences/zen-settings.js +++ b/src/browser/components/preferences/zen-settings.js @@ -604,4 +604,9 @@ Preferences.addAll([ type: 'bool', default: false, }, + { + id: 'zen.workspaces.hide-default-container-indicator', + type: 'bool', + default: true, + }, ]); diff --git a/src/browser/components/preferences/zenWorkspaces.inc.xhtml b/src/browser/components/preferences/zenWorkspaces.inc.xhtml index 78428702..2c47bb51 100644 --- a/src/browser/components/preferences/zenWorkspaces.inc.xhtml +++ b/src/browser/components/preferences/zenWorkspaces.inc.xhtml @@ -20,6 +20,11 @@ + + + diff --git a/src/browser/components/sessionstore/TabState-sys-mjs.patch b/src/browser/components/sessionstore/TabState-sys-mjs.patch index 95f9ace9..1d205663 100644 --- a/src/browser/components/sessionstore/TabState-sys-mjs.patch +++ b/src/browser/components/sessionstore/TabState-sys-mjs.patch @@ -1,12 +1,13 @@ diff --git a/browser/components/sessionstore/TabState.sys.mjs b/browser/components/sessionstore/TabState.sys.mjs -index 26f5671c849d9b0a126d79b07bc7d3d7870826ec..decc4c975507c9111df78dbc43434fa46d5f5e82 100644 +index 26f5671c849d9b0a126d79b07bc7d3d7870826ec..26f80d69a28f1196096e67a0e628a69b5b367727 100644 --- a/browser/components/sessionstore/TabState.sys.mjs +++ b/browser/components/sessionstore/TabState.sys.mjs -@@ -98,6 +98,8 @@ var TabStateInternal = { +@@ -98,6 +98,9 @@ var TabStateInternal = { tabData.muteReason = tab.muteReason; } + tabData.zenWorkspace = tab.getAttribute("zen-workspace-id"); ++ tabData.zenDefaultUserContextId = tab.getAttribute("zenDefaultUserContextId"); + tabData.searchMode = tab.ownerGlobal.gURLBar.getSearchMode(browser, true); diff --git a/src/browser/components/tabbrowser/content/tabbrowser-js.patch b/src/browser/components/tabbrowser/content/tabbrowser-js.patch index 09cacd09..5c2aaa32 100644 --- a/src/browser/components/tabbrowser/content/tabbrowser-js.patch +++ b/src/browser/components/tabbrowser/content/tabbrowser-js.patch @@ -1,19 +1,30 @@ diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js -index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..24cf982dced9abdb412fac4abbf1428b983d16ff 100644 +index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..a9e4da68d8de456a757158a311296792a7781e8f 100644 --- a/browser/components/tabbrowser/content/tabbrowser.js +++ b/browser/components/tabbrowser/content/tabbrowser.js -@@ -2704,6 +2704,10 @@ +@@ -2704,6 +2704,11 @@ ); } ++ let hasZenDefaultUserContextId = false; + if (typeof ZenWorkspaces !== "undefined") { -+ userContextId = ZenWorkspaces.getContextIdIfNeeded(userContextId); ++ [userContextId, hasZenDefaultUserContextId] = ZenWorkspaces.getContextIdIfNeeded(userContextId); + } + if (!UserInteraction.running("browser.tabs.opening", window)) { UserInteraction.start("browser.tabs.opening", "initting", window); } -@@ -3248,6 +3252,11 @@ +@@ -2771,6 +2776,9 @@ + noInitialLabel, + skipBackgroundNotify, + }); ++ if (hasZenDefaultUserContextId) { ++ t.setAttribute("zenDefaultUserContextId", "true"); ++ } + if (insertTab) { + // insert the tab into the tab container in the correct position + this._insertTabAtIndex(t, { +@@ -3248,6 +3256,14 @@ ) { tabWasReused = true; tab = this.selectedTab; @@ -21,22 +32,28 @@ index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..24cf982dced9abdb412fac4abbf1428b + if (tabData.zenWorkspace) { + tab.setAttribute("zen-workspace-id", tabData.zenWorkspace); + } ++ if (tabData.zenDefaultUserContextId) { ++ tab.setAttribute("zenDefaultUserContextId", "true"); ++ } + if (!tabData.pinned) { this.unpinTab(tab); } else { -@@ -3297,6 +3306,10 @@ +@@ -3297,6 +3313,13 @@ preferredRemoteType, }); + if (tabData.zenWorkspace) { + tab.setAttribute("zen-workspace-id", tabData.zenWorkspace); + } ++ if (tabData.zenDefaultUserContextId) { ++ tab.setAttribute("zenDefaultUserContextId", "true"); ++ } + if (select) { tabToSelect = tab; } -@@ -4184,6 +4197,7 @@ +@@ -4184,6 +4207,7 @@ isLastTab || aTab.pinned || aTab.hidden ||