Refactor compact mode initialization and sidebar flashing logic for improved performance

This commit is contained in:
mr. M
2025-01-05 17:21:22 +01:00
parent b67ff738cb
commit 76cc2fdb25
3 changed files with 41 additions and 29 deletions

View File

@@ -37,10 +37,10 @@
false
);
ZenWorkspaces.init();
gZenUIManager.init();
gZenVerticalTabsManager.init();
gZenCompactModeManager.init();
ZenWorkspaces.init();
gZenVerticalTabsManager.init();
gZenUIManager.init();
document.l10n.setAttributes(document.getElementById('tabs-newtab-button'), 'tabs-toolbar-new-tab');
} catch (e) {

View File

@@ -7,13 +7,27 @@ XPCOMUtils.defineLazyPreferenceGetter(
800
);
XPCOMUtils.defineLazyPreferenceGetter(
lazyCompactMode,
'COMPACT_MODE_FLASH_ENABLED',
'zen.view.compact.toolbar-flash-popup',
true
);
var gZenCompactModeManager = {
_flashTimeouts: {},
_evenListeners: [],
_removeHoverFrames: {},
init() {
Services.prefs.addObserver('zen.view.compact', this._updateEvent.bind(this));
XPCOMUtils.defineLazyPreferenceGetter(
lazyCompactMode,
'COMPACT_MODE_ENABLED',
'zen.view.compact',
true,
this._updateEvent.bind(this)
);
Services.prefs.addObserver('zen.view.sidebar-expanded.on-hover', this._disableTabsOnHoverIfConflict.bind(this));
Services.prefs.addObserver('zen.tabs.vertical.right-side', this._updateSidebarIsOnRight.bind(this));
@@ -27,7 +41,7 @@ var gZenCompactModeManager = {
},
get prefefence() {
return Services.prefs.getBoolPref('zen.view.compact');
return lazyCompactMode.COMPACT_MODE_ENABLED;
},
set preference(value) {
@@ -50,6 +64,12 @@ var gZenCompactModeManager = {
return this._sidebar;
},
flashSidebarIfNecessary(aInstant = false) {
if (!aInstant && this.prefefence && lazyCompactMode.COMPACT_MODE_FLASH_ENABLED && !gZenGlanceManager.animatingOpen) {
this.flashSidebar();
}
},
addContextMenu() {
const fragment = window.MozXULElement.parseXULToFragment(`
<menu id="zen-context-menu-compact-mode" data-l10n-id="zen-toolbar-context-compact-mode">