From a7d0719877d34a3cdc4b82ce013b7e7bdbaa4cf6 Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Sat, 3 May 2025 16:37:21 +0200 Subject: [PATCH 1/4] chore: Removed invalid height for workspace indicators, b=(no-bug), c=workspaces --- src/browser/app/profile/zen-browser.js | 1 - src/zen/workspaces/zen-workspaces.css | 6 ------ 2 files changed, 7 deletions(-) diff --git a/src/browser/app/profile/zen-browser.js b/src/browser/app/profile/zen-browser.js index c6677060f..a99891822 100644 --- a/src/browser/app/profile/zen-browser.js +++ b/src/browser/app/profile/zen-browser.js @@ -204,7 +204,6 @@ pref('zen.startup.smooth-scroll-in-tabs', true); pref('zen.workspaces.hide-default-container-indicator', true); pref('zen.workspaces.force-container-workspace', false); pref('zen.workspaces.open-new-tab-if-last-unpinned-tab-is-closed', false); -pref('zen.workspaces.show-workspace-indicator', true); pref('zen.workspaces.swipe-actions', true); pref('zen.workspaces.wrap-around-navigation', true); pref('zen.workspaces.natural-scroll', false); diff --git a/src/zen/workspaces/zen-workspaces.css b/src/zen/workspaces/zen-workspaces.css index 4a42f09f8..42f806e3a 100644 --- a/src/zen/workspaces/zen-workspaces.css +++ b/src/zen/workspaces/zen-workspaces.css @@ -507,12 +507,6 @@ } } -@media not -moz-pref('zen.workspaces.show-workspace-indicator') { - #zen-current-workspace-indicator-container { - display: none !important; - } -} - #zen-current-workspace-indicator-container[hidden='true'] { display: none !important; } From 6ccbdcbdfa2e4012ee61e35ab71e6d361d0c3c25 Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Sat, 3 May 2025 17:04:12 +0200 Subject: [PATCH 2/4] fix: Fixed duplicate newtabs when replace newtab is disabled, b=(no-bug), c=workspaces --- src/zen/workspaces/ZenWorkspaces.mjs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/zen/workspaces/ZenWorkspaces.mjs b/src/zen/workspaces/ZenWorkspaces.mjs index 631117d43..bbcfd4cf5 100644 --- a/src/zen/workspaces/ZenWorkspaces.mjs +++ b/src/zen/workspaces/ZenWorkspaces.mjs @@ -799,10 +799,12 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { const currentTab = gBrowser.selectedTab; let showed = false; if (this._tabToRemoveForEmpty) { - this.selectEmptyTab(); - gBrowser.removeTab(this._tabToRemoveForEmpty); + if (gZenVerticalTabsManager._canReplaceNewTab) { + this.selectEmptyTab(); + gBrowser.removeTab(this._tabToRemoveForEmpty); + showed = true; + } delete this._tabToRemoveForEmpty; - showed = true; } else { const currentTabURL = currentTab.linkedBrowser?.currentURI?.spec; // Check for empty tab being restored From 56275abbafcf390d34fc03ae1a474e2450d8b718 Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Sun, 4 May 2025 02:18:41 +0200 Subject: [PATCH 3/4] fix: Fixed small issue on compact mode, b=(no-bug), c=compact-mode --- src/zen/compact-mode/ZenCompactMode.mjs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/zen/compact-mode/ZenCompactMode.mjs b/src/zen/compact-mode/ZenCompactMode.mjs index ad5218b72..ee94d1854 100644 --- a/src/zen/compact-mode/ZenCompactMode.mjs +++ b/src/zen/compact-mode/ZenCompactMode.mjs @@ -423,8 +423,14 @@ var gZenCompactModeManager = { this.sidebar.getAttribute('supress-primary-adjustment') === 'true' ) { this._hasHoveredUrlbar = this.sidebar.getAttribute('supress-primary-adjustment') !== 'true'; + if (event.explicitOriginalTarget.closest('#urlbar[zen-floating-urlbar]')) { + window.requestAnimationFrame(() => { + target.removeAttribute('zen-has-hover'); + }); + } return; } + delete this._hasHoveredUrlbar; window.requestAnimationFrame(() => target.setAttribute('zen-has-hover', 'true')); }; From 5cc13cf77f5ad8df41420f67e69b849fc28bea91 Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Sun, 4 May 2025 12:29:44 +0200 Subject: [PATCH 4/4] fix: Fixed adding tabs to essentials with a different container, b=(closes #8019), c=compact-mode, tabs --- src/browser/app/profile/zen-browser.js | 2 + .../urlbar/UrlbarInput-sys-mjs.patch | 4 +- src/zen/compact-mode/ZenCompactMode.mjs | 49 ++++++++++++------- src/zen/tabs/ZenPinnedTabManager.mjs | 2 + 4 files changed, 37 insertions(+), 20 deletions(-) diff --git a/src/browser/app/profile/zen-browser.js b/src/browser/app/profile/zen-browser.js index a99891822..ca11763ec 100644 --- a/src/browser/app/profile/zen-browser.js +++ b/src/browser/app/profile/zen-browser.js @@ -292,6 +292,8 @@ pref('image.jxl.enabled', true, locked); pref("svg.context-properties.content.enabled", true); pref("image.avif.enabled", true, locked); +pref("media.eme.enabled", true); + // Smooth scrolling #ifndef XP_MACOSX pref("apz.overscroll.enabled", true); diff --git a/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch b/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch index 81c94281a..1200298e4 100644 --- a/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch +++ b/src/browser/components/urlbar/UrlbarInput-sys-mjs.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/urlbar/UrlbarInput.sys.mjs b/browser/components/urlbar/UrlbarInput.sys.mjs -index 4b69136aa31bfef3a1d3b57ad0c75fe07fa26be0..8d1a80e97fa711352d4b725f2d299a073dbae4db 100644 +index 4b69136aa31bfef3a1d3b57ad0c75fe07fa26be0..f001ffe262b26389c5af68e29d0785500969c344 100644 --- a/browser/components/urlbar/UrlbarInput.sys.mjs +++ b/browser/components/urlbar/UrlbarInput.sys.mjs @@ -68,6 +68,13 @@ XPCOMUtils.defineLazyPreferenceGetter( @@ -93,7 +93,7 @@ index 4b69136aa31bfef3a1d3b57ad0c75fe07fa26be0..8d1a80e97fa711352d4b725f2d299a07 + if (lazy.ZEN_URLBAR_BEHAVIOR == 'float' || (lazy.ZEN_URLBAR_BEHAVIOR == 'floating-on-type' && !this.focusedViaMousedown)) { + this.setAttribute("zen-floating-urlbar", "true"); + // Divide the window by 2 and subtract the urlbar height to get the top -+ this.textbox.style.setProperty("--zen-urlbar-top", `${(this.window.innerHeight / 6)}px`); ++ this.textbox.style.setProperty("--zen-urlbar-top", `${(this.window.innerHeight / 4)}px`); + } else { + this.removeAttribute("zen-floating-urlbar"); + } diff --git a/src/zen/compact-mode/ZenCompactMode.mjs b/src/zen/compact-mode/ZenCompactMode.mjs index ee94d1854..a55cd210c 100644 --- a/src/zen/compact-mode/ZenCompactMode.mjs +++ b/src/zen/compact-mode/ZenCompactMode.mjs @@ -35,11 +35,12 @@ var gZenCompactModeManager = { lazyCompactMode.mainAppWrapper.removeAttribute('zen-compact-mode'); this._wasInCompactMode = isCompactMode; - this.addMouseActions(); this.addContextMenu(); }, init() { + this.addMouseActions(); + Services.prefs.addObserver('zen.tabs.vertical.right-side', this._updateSidebarIsOnRight.bind(this)); gZenUIManager.addPopupTrackingAttribute(this.sidebar); @@ -412,26 +413,33 @@ var gZenCompactModeManager = { }, addMouseActions() { + gURLBar.textbox.addEventListener('mouseenter', (event) => { + if (!gZenVerticalTabsManager._hasSetSingleToolbar) { + return; + } + if (event.target.closest('#urlbar[zen-floating-urlbar]')) { + // Ignore sidebar mouse enter if the urlbar is floating + this.clearFlashTimeout('has-hover' + gZenVerticalTabsManager._hasSetSingleToolbar); + window.requestAnimationFrame(() => { + this.sidebar.removeAttribute('zen-has-hover'); + }); + this._hasHoveredUrlbar = true; + return; + } + }); + for (let i = 0; i < this.hoverableElements.length; i++) { let target = this.hoverableElements[i].element; const onEnter = (event) => { - if (event.type === 'mouseenter' && !event.target.matches(':hover')) return; - // Dont register the hover if the urlbar is floating and we are hovering over it - this.clearFlashTimeout('has-hover' + target.id); - if ( - event.explicitOriginalTarget.closest('#urlbar[zen-floating-urlbar]') || - this.sidebar.getAttribute('supress-primary-adjustment') === 'true' - ) { - this._hasHoveredUrlbar = this.sidebar.getAttribute('supress-primary-adjustment') !== 'true'; - if (event.explicitOriginalTarget.closest('#urlbar[zen-floating-urlbar]')) { - window.requestAnimationFrame(() => { - target.removeAttribute('zen-has-hover'); - }); + setTimeout(() => { + if (event.type === 'mouseenter' && !event.target.matches(':hover')) return; + // Dont register the hover if the urlbar is floating and we are hovering over it + this.clearFlashTimeout('has-hover' + target.id); + if (this.sidebar.getAttribute('supress-primary-adjustment') === 'true' || this._hasHoveredUrlbar) { + return; } - return; - } - delete this._hasHoveredUrlbar; - window.requestAnimationFrame(() => target.setAttribute('zen-has-hover', 'true')); + window.requestAnimationFrame(() => target.setAttribute('zen-has-hover', 'true')); + }, 0); }; const onLeave = (event) => { @@ -463,7 +471,6 @@ var gZenCompactModeManager = { this.sidebar.getAttribute('supress-primary-adjustment') === 'true' || this._hasHoveredUrlbar ) { - delete this._hasHoveredUrlbar; return; } @@ -505,6 +512,12 @@ var gZenCompactModeManager = { ); } }); + + gURLBar.textbox.addEventListener('mouseleave', (event) => { + setTimeout(() => { + delete this._hasHoveredUrlbar; + }, 0); + }); }, _getCrossedEdge(posX, posY, element = document.documentElement, maxDistance = 10) { diff --git a/src/zen/tabs/ZenPinnedTabManager.mjs b/src/zen/tabs/ZenPinnedTabManager.mjs index 0e3d3835c..9a056ddd7 100644 --- a/src/zen/tabs/ZenPinnedTabManager.mjs +++ b/src/zen/tabs/ZenPinnedTabManager.mjs @@ -665,6 +665,8 @@ } else { gBrowser.pinTab(tab); } + tab.setAttribute('zenDefaultUserContextId', true); + ZenWorkspaces.switchTabIfNeeded(tab); this._onTabMove(tab); this.onTabIconChanged(tab);