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 154ba1ffa..825fda5b1 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 @@ -578,6 +578,7 @@ align-items: center; justify-content: center; opacity: .4; + align-items: center; } & #zen-essentials-container { justify-content: center; diff --git a/src/browser/base/zen-components/ZenWorkspaces.mjs b/src/browser/base/zen-components/ZenWorkspaces.mjs index 592a547c4..a564b32a4 100644 --- a/src/browser/base/zen-components/ZenWorkspaces.mjs +++ b/src/browser/base/zen-components/ZenWorkspaces.mjs @@ -1583,13 +1583,22 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { } _processTabVisibility(workspaceUuid, containerId, workspaces) { + const hiddenTabs = []; + const visibleTabs = gBrowser.tabContainer.visibleTabs; for (const tab of gBrowser.tabs) { if (!this._shouldShowTab(tab, workspaceUuid, containerId, workspaces)) { - gBrowser.hideTab(tab, undefined, true); + hiddenTabs.push(tab); } else if (tab.hasAttribute('zen-essential')) { gBrowser.showTab(tab, undefined, true); } } + // If there's no more visible tabs, make a new tab visible + if (hiddenTabs.length === visibleTabs.length) { + this._createNewTabForWorkspace({ uuid: workspaceUuid }); + } + for (const tab of hiddenTabs) { + gBrowser.hideTab(tab, undefined, true); + } } _shouldShowTab(tab, workspaceUuid, containerId, workspaces) {