forked from ZenBrowserMirrors/zen-desktop
fix: Weird tab sizing when switching workspaces on twilight, b=(no-bug), c=workspaces
This commit is contained in:
parent
9c93a21421
commit
68fc9fb635
1 changed files with 12 additions and 5 deletions
|
@ -281,13 +281,13 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
||||||
if (element.classList.contains('tabbrowser-tab')) {
|
if (element.classList.contains('tabbrowser-tab')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
this._pinnedTabsResizeObserver.observe(element);
|
this._pinnedTabsResizeObserver.observe(element, { box: 'border-box' });
|
||||||
}
|
}
|
||||||
for (let element of document.getElementById('zen-essentials-wrapper').children) {
|
for (let element of document.getElementById('zen-essentials-wrapper').children) {
|
||||||
if (element.classList.contains('tabbrowser-tab')) {
|
if (element.classList.contains('tabbrowser-tab')) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
this._pinnedTabsResizeObserver.observe(element);
|
this._pinnedTabsResizeObserver.observe(element, { box: 'border-box' });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1840,7 +1840,8 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
||||||
}
|
}
|
||||||
|
|
||||||
_updateMarginTopPinnedTabs(arrowscrollbox, pinnedContainer, essentialContainer, workspaceIndicator, forAnimation = false) {
|
_updateMarginTopPinnedTabs(arrowscrollbox, pinnedContainer, essentialContainer, workspaceIndicator, forAnimation = false) {
|
||||||
if (arrowscrollbox) {
|
if (arrowscrollbox && !(this._inChangingWorkspace && !forAnimation && !this._alwaysAnimateMarginTop)) {
|
||||||
|
delete this._alwaysAnimateMarginTop;
|
||||||
const essentialsHeight = essentialContainer.getBoundingClientRect().height;
|
const essentialsHeight = essentialContainer.getBoundingClientRect().height;
|
||||||
workspaceIndicator.style.marginTop = essentialsHeight + 'px';
|
workspaceIndicator.style.marginTop = essentialsHeight + 'px';
|
||||||
let arrowMarginTop = pinnedContainer.getBoundingClientRect().height;
|
let arrowMarginTop = pinnedContainer.getBoundingClientRect().height;
|
||||||
|
@ -1849,8 +1850,11 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
||||||
document.getElementById('zen-tabs-wrapper').style.marginTop = essentialsHeight + 'px';
|
document.getElementById('zen-tabs-wrapper').style.marginTop = essentialsHeight + 'px';
|
||||||
pinnedContainer.style.marginTop = '';
|
pinnedContainer.style.marginTop = '';
|
||||||
} else {
|
} else {
|
||||||
arrowMarginTop += essentialsHeight;
|
arrowMarginTop += forAnimation ? 0 : essentialsHeight;
|
||||||
pinnedContainer.style.marginTop = essentialsHeight + 'px';
|
pinnedContainer.style.marginTop = essentialsHeight + 'px';
|
||||||
|
if (forAnimation) {
|
||||||
|
document.getElementById('zen-tabs-wrapper').style.marginTop = '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!forAnimation && !this._inChangingWorkspace) {
|
if (!forAnimation && !this._inChangingWorkspace) {
|
||||||
// TODO:
|
// TODO:
|
||||||
|
@ -2112,6 +2116,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
||||||
for (const cloned of clonedEssentials) {
|
for (const cloned of clonedEssentials) {
|
||||||
cloned.container.remove();
|
cloned.container.remove();
|
||||||
}
|
}
|
||||||
|
this._alwaysAnimateMarginTop = true;
|
||||||
this.updateTabsContainers();
|
this.updateTabsContainers();
|
||||||
}
|
}
|
||||||
const essentialsContainer = this.getEssentialsSection(newWorkspace.containerTabId);
|
const essentialsContainer = this.getEssentialsSection(newWorkspace.containerTabId);
|
||||||
|
@ -2794,7 +2799,9 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
|
||||||
const containerTabId = parseInt(tab.parentNode.getAttribute('container'));
|
const containerTabId = parseInt(tab.parentNode.getAttribute('container'));
|
||||||
workspaceToSwitch = this._workspaceCache.workspaces.find((workspace) => workspace.containerTabId === containerTabId);
|
workspaceToSwitch = this._workspaceCache.workspaces.find((workspace) => workspace.containerTabId === containerTabId);
|
||||||
} else {
|
} else {
|
||||||
workspaceToSwitch = this._workspaceCache.workspaces.find((workspace) => workspace.uuid === tab.getAttribute('zen-workspace-id'));
|
workspaceToSwitch = this._workspaceCache.workspaces.find(
|
||||||
|
(workspace) => workspace.uuid === tab.getAttribute('zen-workspace-id')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if (!workspaceToSwitch) {
|
if (!workspaceToSwitch) {
|
||||||
console.error('No workspace found for tab, cannot switch');
|
console.error('No workspace found for tab, cannot switch');
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue