diff --git a/src/toolkit/content/widgets/arrowscrollbox-js.patch b/src/toolkit/content/widgets/arrowscrollbox-js.patch
index 2094f349c..4330bcd02 100644
--- a/src/toolkit/content/widgets/arrowscrollbox-js.patch
+++ b/src/toolkit/content/widgets/arrowscrollbox-js.patch
@@ -1,5 +1,5 @@
diff --git a/toolkit/content/widgets/arrowscrollbox.js b/toolkit/content/widgets/arrowscrollbox.js
-index f9191af09f1b7a1654aff62807e7dad573afc172..f94a8b3dc5871fba5d0dbed5d487d6e32a1ff29a 100644
+index f9191af09f1b7a1654aff62807e7dad573afc172..0b81a2bf5a0e1d745623f9b72fbe57254c1b16dd 100644
--- a/toolkit/content/widgets/arrowscrollbox.js
+++ b/toolkit/content/widgets/arrowscrollbox.js
@@ -98,6 +98,7 @@
@@ -15,7 +15,7 @@ index f9191af09f1b7a1654aff62807e7dad573afc172..f94a8b3dc5871fba5d0dbed5d487d6e3
on_wheel(event) {
// Don't consume the event if we can't scroll.
- if (!this.overflowing) {
-+ if (!this.overflowing || this.id === 'tabbrowser-arrowscrollbox') { // we handle this on ZenStartup
++ if (!this.overflowing || this.id === 'tabbrowser-arrowscrollbox' || (event.deltaY == 0 && this.classList.contains('workspace-arrowscrollbox'))) {
return;
}
diff --git a/src/zen/workspaces/ZenWorkspace.mjs b/src/zen/workspaces/ZenWorkspace.mjs
index c02d32108..28bdf63e2 100644
--- a/src/zen/workspaces/ZenWorkspace.mjs
+++ b/src/zen/workspaces/ZenWorkspace.mjs
@@ -6,7 +6,7 @@
-
+
@@ -77,6 +77,13 @@
get: () => 36,
});
+ if (
+ Services.prefs.getBoolPref('zen.workspaces.swipe-actions', false) &&
+ gZenWorkspaces.workspaceEnabled
+ ) {
+ gZenWorkspaces.attachGestureHandlers(this);
+ }
+
// Add them manually since attribute inheritance doesn't work
// for multiple layers of shadow DOM.
this.tabsContainer.setAttribute('zen-workspace-id', this.id);
diff --git a/src/zen/workspaces/ZenWorkspaces.mjs b/src/zen/workspaces/ZenWorkspaces.mjs
index 1339eebf1..575f960ba 100644
--- a/src/zen/workspaces/ZenWorkspaces.mjs
+++ b/src/zen/workspaces/ZenWorkspaces.mjs
@@ -138,7 +138,6 @@ var gZenWorkspaces = new (class extends ZenMultiWindowFeature {
Services.prefs.getBoolPref('zen.workspaces.swipe-actions', false) &&
this.workspaceEnabled
) {
- this.initializeGestureHandlers();
this.initializeWorkspaceNavigation();
}
@@ -576,21 +575,6 @@ var gZenWorkspaces = new (class extends ZenMultiWindowFeature {
);
}
- initializeGestureHandlers() {
- const elements = [
- gNavToolbox,
- // event handlers do not work on elements inside shadow DOM so we need to attach them directly
- document.getElementById('tabbrowser-arrowscrollbox').shadowRoot.querySelector('scrollbox'),
- ];
-
- // Attach gesture handlers to each element
- for (const element of elements) {
- if (!element) continue;
-
- this.attachGestureHandlers(element);
- }
- }
-
attachGestureHandlers(element) {
element.addEventListener('MozSwipeGestureMayStart', this._handleSwipeMayStart.bind(this), true);
element.addEventListener('MozSwipeGestureStart', this._handleSwipeStart.bind(this), true);
diff --git a/src/zen/workspaces/zen-workspaces.css b/src/zen/workspaces/zen-workspaces.css
index 0b2aa2c35..386e99f93 100644
--- a/src/zen/workspaces/zen-workspaces.css
+++ b/src/zen/workspaces/zen-workspaces.css
@@ -543,7 +543,7 @@ zen-workspace {
top: 0;
left: 0;
width: 100%;
- height: 2px;
+ height: 1px;
opacity: 0;
pointer-events: none;
transition: opacity 0.1s;
@@ -556,7 +556,7 @@ zen-workspace {
bottom: 0;
left: 0;
width: 100%;
- height: 2px;
+ height: 1px;
opacity: 0;
pointer-events: none;
transition: opacity 0.1s;