From 0554dceed73fdffe914ebc595a383416d7d6f4e0 Mon Sep 17 00:00:00 2001 From: "mr. M" Date: Thu, 21 Nov 2024 23:32:57 +0100 Subject: [PATCH] First works on horizontal tabs --- src/browser/base/content/ZenUIManager.mjs | 15 ++++++++++++--- .../content/navigator-toolbox-inc-xhtml.patch | 12 ++---------- .../zen-styles/zen-tabs/horizontal-tabs.css | 18 ++++++++++++++++++ 3 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/browser/base/content/ZenUIManager.mjs b/src/browser/base/content/ZenUIManager.mjs index c0a835ef0..acb290907 100644 --- a/src/browser/base/content/ZenUIManager.mjs +++ b/src/browser/base/content/ZenUIManager.mjs @@ -133,6 +133,7 @@ var gZenVerticalTabsManager = { }); var updateEvent = this._updateEvent.bind(this); + Services.prefs.addObserver('zen.tabs.vertical', updateEvent); Services.prefs.addObserver('zen.tabs.vertical.right-side', updateEvent); Services.prefs.addObserver('zen.view.sidebar-expanded.max-width', updateEvent); Services.prefs.addObserver('zen.view.compact', updateEvent); @@ -199,11 +200,14 @@ var gZenVerticalTabsManager = { const topButtons = document.getElementById('zen-sidebar-top-buttons'); const customizationTarget = document.getElementById('nav-bar-customization-target'); const isCompactMode = Services.prefs.getBoolPref('zen.view.compact'); + const isVerticalTabs = Services.prefs.getBoolPref('zen.tabs.vertical'); + + gBrowser.tabContainer.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal'); + gBrowser.tabContainer.arrowScrollbox.setAttribute('orient', isVerticalTabs ? 'vertical' : 'horizontal'); const buttonsTarget = document.getElementById('zen-sidebar-top-buttons-customization-target'); - if (Services.prefs.getBoolPref('zen.tabs.vertical.right-side')) { + if (Services.prefs.getBoolPref('zen.tabs.vertical.right-side') && isVerticalTabs) { this.navigatorToolbox.setAttribute('zen-right-side', 'true'); - } else { this.navigatorToolbox.removeAttribute('zen-right-side'); } @@ -220,7 +224,12 @@ var gZenVerticalTabsManager = { // tabboxWrapper.prepend(this.navigatorToolbox); } - if (Services.prefs.getBoolPref('zen.view.use-single-toolbar')) { + if (!isVerticalTabs) { + const navbarContainer = document.getElementById('zen-appcontent-navbar-container'); + document.getElementById("urlbar-container").after(document.getElementById('navigator-toolbox')); + } + + if (Services.prefs.getBoolPref('zen.view.use-single-toolbar') && isVerticalTabs) { const navBar = document.getElementById('nav-bar'); this._navbarParent = navBar.parentElement; let elements = document.querySelectorAll('#nav-bar-customization-target > *:is(toolbarbutton, #stop-reload-button)'); diff --git a/src/browser/base/content/navigator-toolbox-inc-xhtml.patch b/src/browser/base/content/navigator-toolbox-inc-xhtml.patch index 911aa4cbf..a695c621f 100644 --- a/src/browser/base/content/navigator-toolbox-inc-xhtml.patch +++ b/src/browser/base/content/navigator-toolbox-inc-xhtml.patch @@ -1,5 +1,5 @@ diff --git a/browser/base/content/navigator-toolbox.inc.xhtml b/browser/base/content/navigator-toolbox.inc.xhtml -index 12fa0cf79aade28581016adf96df85386dabdcef..846add9b040abf0f7378ebaaadef007013f5a1ec 100644 +index 12fa0cf79aade28581016adf96df85386dabdcef..85859842c85f5c131900ce49d69b117237ffc592 100644 --- a/browser/base/content/navigator-toolbox.inc.xhtml +++ b/browser/base/content/navigator-toolbox.inc.xhtml @@ -2,7 +2,7 @@ @@ -27,15 +27,7 @@ index 12fa0cf79aade28581016adf96df85386dabdcef..846add9b040abf0f7378ebaaadef0070 aria-pressed="false" oncommand="FirefoxViewHandler.openTab();" onmousedown="FirefoxViewHandler.openToolbarMouseEvent(event);" -@@ -50,16 +51,21 @@ - aria-multiselectable="true" - setfocus="false" - tooltip="tabbrowser-tab-tooltip" -- orient="horizontal" -+ orient="vertical" - stopwatchid="FX_TAB_CLICK_MS"> -