diff --git a/src/browser/base/content/ZenUIManager.mjs b/src/browser/base/content/ZenUIManager.mjs index b5d4b683..ea58a97c 100644 --- a/src/browser/base/content/ZenUIManager.mjs +++ b/src/browser/base/content/ZenUIManager.mjs @@ -122,6 +122,13 @@ var gZenVerticalTabsManager = { || Services.prefs.getBoolPref('zen.view.experimental-force-window-controls-left')); }); + ChromeUtils.defineLazyGetter(this, 'hidesTabsToolbar', () => { + return ( + document.documentElement.getAttribute('chromehidden').includes('toolbar') || + document.documentElement.getAttribute('chromehidden').includes('menubar') + ); + }); + var updateEvent = this._updateEvent.bind(this); this.initializePreferences(updateEvent); @@ -264,7 +271,7 @@ var gZenVerticalTabsManager = { const isVerticalTabs = this._prefsVerticalTabs || forceMultipleToolbar; const isSidebarExpanded = this._prefsSidebarExpanded || !isVerticalTabs; const isRightSide = this._prefsRightSide && isVerticalTabs; - const isSingleToolbar = ((this._prefsUseSingleToolbar && (isVerticalTabs && isSidebarExpanded) )|| !isVerticalTabs) && !forceMultipleToolbar; + const isSingleToolbar = ((this._prefsUseSingleToolbar && (isVerticalTabs && isSidebarExpanded) )|| !isVerticalTabs) && !forceMultipleToolbar && !this.hidesTabsToolbar; const titlebar = document.getElementById('titlebar'); gBrowser.tabContainer.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal'); diff --git a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs-topbar.inc.css b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs-topbar.inc.css index a789dadb..7c8f755a 100644 --- a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs-topbar.inc.css +++ b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs-topbar.inc.css @@ -4,6 +4,10 @@ height: var(--zen-toolbar-height); & { transition: height 0.2s ease-out, opacity 0.2s ease-out; transition-delay: 0.05s; + + :root[inDOMFullscreen='true'] & { + max-height: 0; + } } &:not([zen-has-hover='true']):not([has-popup-menu]):not(:focus-within) { diff --git a/src/browser/base/content/zen-styles/zen-urlbar.css b/src/browser/base/content/zen-styles/zen-urlbar.css index 819f7f7e..1af7f732 100644 --- a/src/browser/base/content/zen-styles/zen-urlbar.css +++ b/src/browser/base/content/zen-styles/zen-urlbar.css @@ -328,6 +328,16 @@ button.popup-notification-dropmarker { padding-right: var(--zen-element-separation) !important; }*/ +#urlbar { + & .search-panel-one-offs-header { + display: none; + } + + & .search-panel-one-offs-container .searchbar-engine-one-off-item { + box-shadow: none; + } +} + #urlbar[open] { z-index: 1000; min-width: 600px; diff --git a/src/browser/base/zen-components/ZenWorkspaces.mjs b/src/browser/base/zen-components/ZenWorkspaces.mjs index 1397596c..980ed6e5 100644 --- a/src/browser/base/zen-components/ZenWorkspaces.mjs +++ b/src/browser/base/zen-components/ZenWorkspaces.mjs @@ -1157,8 +1157,8 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { // Animate acordingly if (previousWorkspace && !this._animatingChange) { // we want to know if we are moving forward or backward in sense of animation - let isNextWorkspace = onInit || - (workspaces.workspaces.findIndex((w) => w.uuid === previousWorkspace.uuid) + let isNextWorkspace = onInit || + (workspaces.workspaces.findIndex((w) => w.uuid === previousWorkspace.uuid) < workspaces.workspaces.findIndex((w) => w.uuid === window.uuid)); gBrowser.tabContainer.setAttribute('zen-workspace-animation', isNextWorkspace ? 'next' : 'previous'); this._animatingChange = true; @@ -1398,16 +1398,18 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { const tab = gBrowser.getTabForBrowser(browser); const workspaceID = tab.getAttribute('zen-workspace-id'); const isEssential = tab.getAttribute("zen-essential") === "true"; - const activeWorkspace = await parent.ZenWorkspaces.getActiveWorkspace(); + if (!isEssential) { + const activeWorkspace = await parent.ZenWorkspaces.getActiveWorkspace(); - // Only update last selected tab for non-essential tabs in their workspace - if (!isEssential && workspaceID === activeWorkspace.uuid) { - this._lastSelectedWorkspaceTabs[workspaceID] = tab; - } + // Only update last selected tab for non-essential tabs in their workspace + if (!isEssential && workspaceID === activeWorkspace.uuid) { + this._lastSelectedWorkspaceTabs[workspaceID] = tab; + } - // Switch workspace if needed - if (workspaceID && workspaceID !== activeWorkspace.uuid) { - await parent.ZenWorkspaces.changeWorkspace({ uuid: workspaceID }); + // Switch workspace if needed + if (workspaceID && workspaceID !== activeWorkspace.uuid) { + await parent.ZenWorkspaces.changeWorkspace({ uuid: workspaceID }); + } } }