Skip to content

Commit 200a721

Browse files
Merge pull request #7161 from Slowlife01/forcedworkspace
fix: tab not moving to forced workspace
2 parents 32c56d7 + 45284a3 commit 200a721

File tree

2 files changed

+62
-47
lines changed

2 files changed

+62
-47
lines changed

src/browser/base/zen-components/ZenWorkspaces.mjs

+20-6
Original file line numberDiff line numberDiff line change
@@ -1411,15 +1411,18 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
14111411
}
14121412

14131413
moveTabToWorkspace(tab, workspaceID) {
1414-
if (tab.getAttribute('zen-workspace-id') === workspaceID) {
1415-
return;
1414+
const parent = tab.pinned ? '#vertical-pinned-tabs-container ' : '#tabbrowser-arrowscrollbox ';
1415+
const container = document.querySelector(parent + `.zen-workspace-tabs-section[zen-workspace-id="${workspaceID}"]`);
1416+
1417+
if (container.contains(tab)) {
1418+
return false;
14161419
}
1420+
14171421
tab.setAttribute('zen-workspace-id', workspaceID);
14181422
if (tab.hasAttribute('zen-essential')) {
1419-
return;
1423+
return false;
14201424
}
1421-
const parent = tab.pinned ? '#vertical-pinned-tabs-container ' : '#tabbrowser-arrowscrollbox ';
1422-
const container = document.querySelector(parent + `.zen-workspace-tabs-section[zen-workspace-id="${workspaceID}"]`);
1425+
14231426
if (container) {
14241427
container.insertBefore(tab, container.lastChild);
14251428
}
@@ -1428,6 +1431,8 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
14281431
if (glanceTab) {
14291432
glanceTab.setAttribute('zen-workspace-id', workspaceID);
14301433
}
1434+
1435+
return true;
14311436
}
14321437

14331438
_prepareNewWorkspace(window) {
@@ -1974,7 +1979,16 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
19741979
async onTabBrowserInserted(event) {
19751980
let tab = event.originalTarget;
19761981
const isEssential = tab.getAttribute('zen-essential') === 'true';
1977-
if (tab.getAttribute('zen-workspace-id') || !this.workspaceEnabled || isEssential) {
1982+
const workspaceID = tab.getAttribute('zen-workspace-id');
1983+
1984+
if (!this.workspaceEnabled || isEssential) {
1985+
return;
1986+
}
1987+
1988+
if (workspaceID) {
1989+
if (tab.hasAttribute('change-workspace') && this.moveTabToWorkspace(tab, workspaceID))
1990+
this._lastSelectedWorkspaceTabs[workspaceID] = tab;
1991+
19781992
return;
19791993
}
19801994

0 commit comments

Comments
 (0)