feat: Sort browser elements to make the current workspace have more priority, b=(no-bug), c=workspaces

This commit is contained in:
Mr. M
2025-05-11 12:47:16 +02:00
parent bda91cd9d5
commit 0fb9b51cc9

View File

@@ -3205,7 +3205,17 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
if (!this._hasInitializedTabsStrip) {
return gBrowser.browsers;
}
return Array.from(gBrowser.tabpanels.querySelectorAll('browser'));
const browsers = Array.from(gBrowser.tabpanels.querySelectorAll('browser'));
// Sort browsers by making the current workspace first
const currentWorkspace = this.activeWorkspace;
const sortedBrowsers = browsers.sort((a, b) => {
const aTab = gBrowser.getTabForBrowser(a);
const bTab = gBrowser.getTabForBrowser(b);
const aWorkspaceId = aTab.getAttribute('zen-workspace-id');
const bWorkspaceId = bTab.getAttribute('zen-workspace-id');
return aWorkspaceId === currentWorkspace ? -1 : bWorkspaceId === currentWorkspace ? 1 : 0;
});
return sortedBrowsers;
}
get pinnedTabCount() {