Defer compact mode initialization until after delayed startup finishes and update CSS for hover state handling

This commit is contained in:
mr. m
2025-04-11 11:33:03 +02:00
parent 417c6d09bf
commit 1a04cac47c
4 changed files with 25 additions and 8 deletions

View File

@@ -40,8 +40,29 @@
} catch (e) {
console.error('ZenThemeModifier: Error initializing browser layout', e);
}
ZenWorkspaces.promiseInitialized.then(() => {
gZenCompactModeManager.init();
if (gBrowserInit.delayedStartupFinished) {
this.delayedStartupFinished();
} else {
Services.obs.addObserver(this, 'browser-delayed-startup-finished');
}
},
observe(aSubject, aTopic) {
// This nsIObserver method allows us to defer initialization until after
// this window has finished painting and starting up.
if (aTopic == 'browser-delayed-startup-finished' && aSubject == window) {
Services.obs.removeObserver(this, 'browser-delayed-startup-finished');
this.delayedStartupFinished();
}
},
delayedStartupFinished() {
ZenWorkspaces.promiseInitialized.then(async () => {
await delayedStartupPromise;
await SessionStore.promiseAllWindowsRestored;
setTimeout(() => {
gZenCompactModeManager.init();
}, 0);
this.closeWatermark();
});
},

View File

@@ -351,6 +351,7 @@
}
& #zen-appcontent-navbar-container[zen-has-hover],
& #zen-appcontent-navbar-container:hover,
& #zen-appcontent-navbar-container:focus-within,
& #zen-appcontent-navbar-container[zen-user-show],
& #zen-appcontent-navbar-container[has-popup-menu],