Fixed switching workspaces

This commit is contained in:
mr. m
2025-02-13 16:29:34 +01:00
parent ab836eb762
commit d6acd4deb8
4 changed files with 22 additions and 10 deletions

View File

@@ -414,7 +414,7 @@ var gZenVerticalTabsManager = {
gBrowser.tabContainer.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal');
gBrowser.tabContainer.arrowScrollbox.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal');
// on purpose, we set the orient to horizontal, because the arrowScrollbox is vertical
gBrowser.tabContainer.arrowScrollbox.scrollbox.setAttribute('orient', isVerticalTabs ? 'horizontal' : 'vertical');
gBrowser.tabContainer.arrowScrollbox.scrollbox.setAttribute('orient', (isVerticalTabs && ZenWorkspaces.workspaceEnabled) ? 'horizontal' : 'vertical');
const buttonsTarget = document.getElementById('zen-sidebar-top-buttons-customization-target');
if (isRightSide) {

View File

@@ -457,6 +457,7 @@
max-height: var(--zen-workspace-indicator-height);
min-height: var(--zen-workspace-indicator-height);
gap: 12px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
flex-direction: row !important;

View File

@@ -1500,7 +1500,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
}
}
async _animateTabs(newWorkspace, shouldAnimate) {
async _animateTabs(newWorkspace, shouldAnimate, tabToSelect = null) {
this._animatingChange = true;
const animations = [];
const workspaces = await this._workspaces();
@@ -1534,11 +1534,18 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
}
if (offset === 0) {
element.setAttribute('active', 'true');
if (tabToSelect) {
gBrowser.selectedTab = tabToSelect;
tabToSelect._visuallySelected = false;
}
} else {
element.removeAttribute('active');
}
}
await Promise.all(animations);
if (tabToSelect) {
tabToSelect._visuallySelected = false;
}
this._animatingChange = false;
}
@@ -1618,7 +1625,6 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
tabToSelect = newTab;
}
tabToSelect._visuallySelected = true;
this._lastSelectedWorkspaceTabs[window.uuid] = tabToSelect;
// Always make sure we always unselect the tab from the old workspace
if (currentSelectedTab && currentSelectedTab !== tabToSelect) {
@@ -1641,8 +1647,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
gZenThemePicker.onWorkspaceChange(window);
await this._animateTabs(window, !onInit && !this._animatingChange);
gBrowser.selectedTab = tabToSelect;
await this._animateTabs(window, !onInit && !this._animatingChange, tabToSelect);
// Notify listeners
if (this._changeListeners?.length) {