From 4bca6a830628dd321cb693d4b98be7acdd8361fa Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Fri, 31 Jan 2025 18:35:55 +0100 Subject: [PATCH 1/4] Fix double-click behavior to open new tab --- src/browser/base/content/ZenStartup.mjs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/browser/base/content/ZenStartup.mjs b/src/browser/base/content/ZenStartup.mjs index 67847f5f4..6549eb475 100644 --- a/src/browser/base/content/ZenStartup.mjs +++ b/src/browser/base/content/ZenStartup.mjs @@ -109,6 +109,9 @@ }); }); observer.observe(tabsWrapper); + tabsWrapper.addEventListener('dblclick', (event) => { + // DO NOT REMOVE, THIS IS TO FIX "OPEN NEW TAB" ON DOUBLE CLICK + }); }, _initSearchBar() { From 307becf086d3f382ece07fc1968e0b3c2b51adc8 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Fri, 31 Jan 2025 19:13:18 +0100 Subject: [PATCH 2/4] Fixed `Switch to workspace where container is set as default when opening container tabs` not working --- src/browser/base/content/ZenStartup.mjs | 2 +- src/browser/base/zen-components/ZenWorkspaces.mjs | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/browser/base/content/ZenStartup.mjs b/src/browser/base/content/ZenStartup.mjs index 6549eb475..377addef1 100644 --- a/src/browser/base/content/ZenStartup.mjs +++ b/src/browser/base/content/ZenStartup.mjs @@ -111,7 +111,7 @@ observer.observe(tabsWrapper); tabsWrapper.addEventListener('dblclick', (event) => { // DO NOT REMOVE, THIS IS TO FIX "OPEN NEW TAB" ON DOUBLE CLICK - }); + }, true); }, _initSearchBar() { diff --git a/src/browser/base/zen-components/ZenWorkspaces.mjs b/src/browser/base/zen-components/ZenWorkspaces.mjs index e4d4121e7..68b009203 100644 --- a/src/browser/base/zen-components/ZenWorkspaces.mjs +++ b/src/browser/base/zen-components/ZenWorkspaces.mjs @@ -1306,10 +1306,11 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { } } - async _performWorkspaceChange(window, { onInit = false, explicitAnimationDirection = undefined } = {}) { + async _performWorkspaceChange(window, { onInit = false, alwaysChange = false, explicitAnimationDirection = undefined } = {}) { const previousWorkspace = await this.getActiveWorkspace(); + alwaysChange = alwaysChange || onInit; - if (previousWorkspace && previousWorkspace.uuid === window.uuid && !onInit) { + if (previousWorkspace && previousWorkspace.uuid === window.uuid && !alwaysChange) { this._cancelSwipeAnimation(); return; } @@ -1814,7 +1815,9 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature { if (matchingWorkspaces.length === 1) { const workspace = matchingWorkspaces[0]; if (workspace.uuid !== this.getActiveWorkspaceFromCache().uuid) { - this.changeWorkspace(workspace); + window.addEventListener('TabSelected', (event) => { + this.changeWorkspace(workspace, { alwaysChange: true }); + }, { once: true }); return [userContextId, true, workspace.uuid]; } } From ab33aae127ed9ae8d43732661821da7e0a9e9cea Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Fri, 31 Jan 2025 19:41:40 +0100 Subject: [PATCH 3/4] Remove unused double-click event listener and adjust tab event handling for improved functionality --- src/browser/base/content/ZenStartup.mjs | 3 --- .../base/content/zen-styles/zen-tabs/vertical-tabs.css | 1 + src/browser/components/tabbrowser/content/tabs-js.patch | 4 ++-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/src/browser/base/content/ZenStartup.mjs b/src/browser/base/content/ZenStartup.mjs index 377addef1..67847f5f4 100644 --- a/src/browser/base/content/ZenStartup.mjs +++ b/src/browser/base/content/ZenStartup.mjs @@ -109,9 +109,6 @@ }); }); observer.observe(tabsWrapper); - tabsWrapper.addEventListener('dblclick', (event) => { - // DO NOT REMOVE, THIS IS TO FIX "OPEN NEW TAB" ON DOUBLE CLICK - }, true); }, _initSearchBar() { diff --git a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css index 7b88356d4..afd553105 100644 --- a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css +++ b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css @@ -373,6 +373,7 @@ min-height: fit-content; overflow-y: auto; overflow-x: hidden; + height: 100%; } #vertical-pinned-tabs-container { diff --git a/src/browser/components/tabbrowser/content/tabs-js.patch b/src/browser/components/tabbrowser/content/tabs-js.patch index 512df10ff..7058185b5 100644 --- a/src/browser/components/tabbrowser/content/tabs-js.patch +++ b/src/browser/components/tabbrowser/content/tabs-js.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js -index 8aeb244ffca9f48661805f5b7d860b5896055562..94b6a5ee6b89965fc63a8e8d1075bd0de37c4d15 100644 +index 8aeb244ffca9f48661805f5b7d860b5896055562..aa672d49e5d3e8e0ce4747187becbc790e25a5f1 100644 --- a/browser/components/tabbrowser/content/tabs.js +++ b/browser/components/tabbrowser/content/tabs.js @@ -94,7 +94,7 @@ @@ -16,7 +16,7 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..94b6a5ee6b89965fc63a8e8d1075bd0d if ( event.button != 0 || - event.target != this.arrowScrollbox || -+ event.target != this || ++ event.target != document.getElementById("zen-browser-tabs-wrapper") || event.composedTarget.localName == "toolbarbutton" ) { return; From 1ad8a9b7f10dbbb9f267ca38b93663548e2e6d97 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Fri, 31 Jan 2025 20:11:45 +0100 Subject: [PATCH 4/4] Add thin scrollbar style to vertical tabs for improved aesthetics --- src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css index afd553105..7116e79fe 100644 --- a/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css +++ b/src/browser/base/content/zen-styles/zen-tabs/vertical-tabs.css @@ -374,6 +374,7 @@ overflow-y: auto; overflow-x: hidden; height: 100%; + scrollbar-width: thin; } #vertical-pinned-tabs-container {