From 307becf086d3f382ece07fc1968e0b3c2b51adc8 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Fri, 31 Jan 2025 19:13:18 +0100 Subject: [PATCH] Fixed `Switch to workspace where container is set as default when opening container tabs` not working --- src/browser/base/content/ZenStartup.mjs | 2 +- src/browser/base/zen-components/ZenWorkspaces.mjs | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/browser/base/content/ZenStartup.mjs b/src/browser/base/content/ZenStartup.mjs index 6549eb475..377addef1 100644 --- a/src/browser/base/content/ZenStartup.mjs +++ b/src/browser/base/content/ZenStartup.mjs @@ -111,7 +111,7 @@ observer.observe(tabsWrapper); tabsWrapper.addEventListener('dblclick', (event) => { // DO NOT REMOVE, THIS IS TO FIX "OPEN NEW TAB" ON DOUBLE CLICK - }); + }, true); }, _initSearchBar() { diff --git a/src/browser/base/zen-components/ZenWorkspaces.mjs b/src/browser/base/zen-components/ZenWorkspaces.mjs index e4d4121e7..68b009203 100644 --- a/src/browser/base/zen-components/ZenWorkspaces.mjs +++ b/src/browser/base/zen-components/ZenWorkspaces.mjs @@ -1306,10 +1306,11 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { } } - async _performWorkspaceChange(window, { onInit = false, explicitAnimationDirection = undefined } = {}) { + async _performWorkspaceChange(window, { onInit = false, alwaysChange = false, explicitAnimationDirection = undefined } = {}) { const previousWorkspace = await this.getActiveWorkspace(); + alwaysChange = alwaysChange || onInit; - if (previousWorkspace && previousWorkspace.uuid === window.uuid && !onInit) { + if (previousWorkspace && previousWorkspace.uuid === window.uuid && !alwaysChange) { this._cancelSwipeAnimation(); return; } @@ -1814,7 +1815,9 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { if (matchingWorkspaces.length === 1) { const workspace = matchingWorkspaces[0]; if (workspace.uuid !== this.getActiveWorkspaceFromCache().uuid) { - this.changeWorkspace(workspace); + window.addEventListener('TabSelected', (event) => { + this.changeWorkspace(workspace, { alwaysChange: true }); + }, { once: true }); return [userContextId, true, workspace.uuid]; } }