From a30798a275dfed1a2de032e2fac840355191d1dd Mon Sep 17 00:00:00 2001 From: "mr. m" Date: Tue, 17 Feb 2026 13:01:38 +0100 Subject: [PATCH] feat: Rework panel animations and updated Firefox 147.0.4, b=no-bug, c=split-view, folders, common, compact-mode, kbs, workspaces --- README.md | 4 ++-- .../en-US/browser/browser/zen-split-view.ftl | 5 +--- prefs/zen/folders.yaml | 2 +- .../content/zen-panels/folders-search.inc | 2 +- src/toolkit/themes/shared/popup-css.patch | 23 ++++++++++++++++++- src/zen/common/styles/zen-animations.css | 12 ---------- src/zen/common/styles/zen-panel-ui.css | 21 +++++++++++++---- src/zen/common/zen-sets.js | 6 ++--- src/zen/compact-mode/ZenCompactMode.mjs | 2 ++ src/zen/folders/ZenFolders.mjs | 14 ++++++----- src/zen/kbs/ZenKeyboardShortcuts.mjs | 15 ++++++++++-- src/zen/split-view/ZenViewSplitter.mjs | 22 ------------------ src/zen/workspaces/ZenGradientGenerator.mjs | 3 ++- surfer.json | 6 ++--- 14 files changed, 74 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index 538e44911..1776b4876 100644 --- a/README.md +++ b/README.md @@ -34,8 +34,8 @@ Zen is a firefox-based browser with the aim of pushing your productivity to a ne ### Firefox Versions -- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `147.0.3`! 🚀 -- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 147.0.3`! +- [`Release`](https://zen-browser.app/download) - Is currently built using Firefox version `147.0.4`! 🚀 +- [`Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 147.0.4`! ### Contributing diff --git a/locales/en-US/browser/browser/zen-split-view.ftl b/locales/en-US/browser/browser/zen-split-view.ftl index 2f1bafedc..cee09306e 100644 --- a/locales/en-US/browser/browser/zen-split-view.ftl +++ b/locales/en-US/browser/browser/zen-split-view.ftl @@ -16,7 +16,4 @@ zen-split-link = zen-split-view-modifier-header = Split View zen-split-view-modifier-activate-reallocation = - .label = Activate reallocation -zen-split-view-modifier-enabled-toast = Split view rearrange is ON. -zen-split-view-modifier-enabled-toast-description = Drag and drop the view to rearrange. Press Esc to exit. -zen-split-view-modifier-disabled-toast = Split view rearrange is OFF. \ No newline at end of file + .label = Activate reallocation \ No newline at end of file diff --git a/prefs/zen/folders.yaml b/prefs/zen/folders.yaml index 2e80ea0cb..72887fe91 100644 --- a/prefs/zen/folders.yaml +++ b/prefs/zen/folders.yaml @@ -6,7 +6,7 @@ value: true - name: zen.folders.search.hover-delay - value: 700 # ms + value: 500 # ms - name: zen.folders.max-subfolders value: 5 diff --git a/src/browser/base/content/zen-panels/folders-search.inc b/src/browser/base/content/zen-panels/folders-search.inc index 73b16633a..210deba4a 100644 --- a/src/browser/base/content/zen-panels/folders-search.inc +++ b/src/browser/base/content/zen-panels/folders-search.inc @@ -2,7 +2,7 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. - + { + this.log("Mouse entered URL bar:", event.target); if (event.target.closest("#urlbar[zen-floating-urlbar]")) { window.requestAnimationFrame(() => { this._setElementExpandAttribute(gZenVerticalTabsManager.actualWindowButtons, false); diff --git a/src/zen/folders/ZenFolders.mjs b/src/zen/folders/ZenFolders.mjs index 31f06293c..f522c18be 100644 --- a/src/zen/folders/ZenFolders.mjs +++ b/src/zen/folders/ZenFolders.mjs @@ -179,7 +179,7 @@ class nsZenFolders extends nsZenDOMOperatedFeature { if (this.#popup.matches(":hover")) { return; } - this.#popup.hidePopup(); + this.#popup.hidePopup(true); }, 200); }); } @@ -357,7 +357,7 @@ class nsZenFolders extends nsZenDOMOperatedFeature { this.#mouseTimer = null; } if (this.#popup) { - this.#popup.hidePopup(); + this.#popup.hidePopup(true); } } @@ -729,11 +729,13 @@ class nsZenFolders extends nsZenDOMOperatedFeature { get #searchPopupOptions() { const isRightSide = gZenVerticalTabsManager._prefsRightSide; - const position = isRightSide ? "topleft topright" : "topright topleft"; + const position = isRightSide ? "start_before" : "start_before"; + let size = this.#popup.querySelector("#zen-folder-tabs-list").children.length + 1; + size *= 48; return { position, - x: 10, - y: -25, + x: -10, + y: -size / 4, }; } @@ -958,7 +960,7 @@ class nsZenFolders extends nsZenDOMOperatedFeature { if (this.#popup.matches(":hover")) { return; } - this.#popup.hidePopup(); + this.#popup.hidePopup(true); }, 200); }); } diff --git a/src/zen/kbs/ZenKeyboardShortcuts.mjs b/src/zen/kbs/ZenKeyboardShortcuts.mjs index 584402007..82a8d3f45 100644 --- a/src/zen/kbs/ZenKeyboardShortcuts.mjs +++ b/src/zen/kbs/ZenKeyboardShortcuts.mjs @@ -677,7 +677,7 @@ class nsZenKeyboardShortcutsLoader { "", ZEN_COMPACT_MODE_SHORTCUTS_GROUP, nsKeyShortcutModifiers.fromObject({ accel: true }), - "cmd_zenCompactModeToggle", + "cmd_toggleCompactModeIgnoreHover", "zen-compact-mode-shortcut-toggle" ) ); @@ -812,7 +812,7 @@ class nsZenKeyboardShortcutsLoader { } class nsZenKeyboardShortcutsVersioner { - static LATEST_KBS_VERSION = 14; + static LATEST_KBS_VERSION = 16; constructor() {} @@ -1146,6 +1146,17 @@ class nsZenKeyboardShortcutsVersioner { } } + if (version < 16) { + // Migrate from version 14 to 16. + // We move the action for "toggle compact mode" to "cmd_toggleCompactModeIgnoreHover" + for (let shortcut of data) { + if (shortcut.getID() == "zen-compact-mode-toggle") { + shortcut._setAction("cmd_toggleCompactModeIgnoreHover"); + break; + } + } + } + return data; } } diff --git a/src/zen/split-view/ZenViewSplitter.mjs b/src/zen/split-view/ZenViewSplitter.mjs index d4234d46d..be4e094a9 100644 --- a/src/zen/split-view/ZenViewSplitter.mjs +++ b/src/zen/split-view/ZenViewSplitter.mjs @@ -641,21 +641,6 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature { } } - get rearangeActionTarget() { - return document.getElementById("urlbar-container"); - } - - afterRearangeAction() { - document.getElementById("zenSplitViewModifier").hidePopup(); - gZenUIManager.showToast("zen-split-view-modifier-enabled-toast", { - descriptionId: "zen-split-view-modifier-enabled-toast-description", - }); - } - - afterRearangeRemove() { - gZenUIManager.showToast("zen-split-view-modifier-disabled-toast"); - } - toggleWrapperDisplay(value) { const wrapper = this.overlay?.parentNode; if (!wrapper) { @@ -695,9 +680,6 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature { this.tabBrowserPanel.addEventListener("click", this.disableTabRearrangeView); window.addEventListener("keydown", this.disableTabRearrangeView); - if (!tabDrag) { - this.afterRearangeAction(); - } } disableTabRearrangeView = (event = null) => { @@ -733,10 +715,6 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature { }); this.rearrangeViewEnabled = false; this.rearrangeViewView = null; - if (!event?.type === "dragend") { - // Don't show toast if exiting from drag - this.afterRearangeRemove(); - } }; onBrowserDragStart = (event) => { diff --git a/src/zen/workspaces/ZenGradientGenerator.mjs b/src/zen/workspaces/ZenGradientGenerator.mjs index b5a519cf2..6e1c3a275 100644 --- a/src/zen/workspaces/ZenGradientGenerator.mjs +++ b/src/zen/workspaces/ZenGradientGenerator.mjs @@ -182,9 +182,10 @@ export class nsZenThemePicker extends nsZenMultiWindowFeature { "zen-workspace-creation-edit-theme-button" ); PanelMultiView.openPopup(this.panel, this.toolbox, { - position: "topright topleft", + position: "start_before", triggerEvent: event, y: fromForm ? -160 : 0, + x: 10, }); } diff --git a/surfer.json b/surfer.json index 2de24cdbe..b383649ec 100644 --- a/surfer.json +++ b/surfer.json @@ -5,8 +5,8 @@ "binaryName": "zen", "version": { "product": "firefox", - "version": "147.0.3", - "candidate": "147.0.3", + "version": "147.0.4", + "candidate": "147.0.4", "candidateBuild": 1 }, "buildOptions": { @@ -20,7 +20,7 @@ "brandShortName": "Zen", "brandFullName": "Zen Browser", "release": { - "displayVersion": "1.18.8b", + "displayVersion": "1.18.9b", "github": { "repo": "zen-browser/desktop" },