From 9b300b010d180771d871e19a4af485fe8e79b30a Mon Sep 17 00:00:00 2001 From: FranklinDM Date: Sun, 2 Feb 2020 17:32:39 +0800 Subject: [PATCH] [Pale-Moon] Issue #1722 - Part 2: Allow hiding pinned tabs for the All Tabs graphical pane --- application/palemoon/app/profile/palemoon.js | 1 + .../palemoon/base/content/browser-tabPreviews.js | 11 ++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/application/palemoon/app/profile/palemoon.js b/application/palemoon/app/profile/palemoon.js index 1baa2f3ac8..6529728c92 100644 --- a/application/palemoon/app/profile/palemoon.js +++ b/application/palemoon/app/profile/palemoon.js @@ -468,6 +468,7 @@ pref("browser.tabs.showAudioPlayingIcon", true); pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000); pref("browser.allTabs.previews", true); +pref("browser.allTabs.hidePinnedTabs", false); pref("browser.ctrlTab.previews", true); pref("browser.ctrlTab.hidePinnedTabs", false); pref("browser.ctrlTab.recentlyUsedLimit", 7); diff --git a/application/palemoon/base/content/browser-tabPreviews.js b/application/palemoon/base/content/browser-tabPreviews.js index a998ea2df9..8e593ea86a 100644 --- a/application/palemoon/base/content/browser-tabPreviews.js +++ b/application/palemoon/base/content/browser-tabPreviews.js @@ -667,6 +667,15 @@ var allTabs = { this._currentFilter = this.filterField.value; + let hidePinnedTabs = gPrefService.getBoolPref("browser.allTabs.hidePinnedTabs"); + if (hidePinnedTabs) { + let regularTabsList = Array.filter(this.previews, function (preview) !preview._tab.pinned); + // Show pinned tabs if we don't have any regular tabs + if (regularTabsList.length == 0) { + hidePinnedTabs = false; + } + } + var filter = this._currentFilter.split(/\s+/g); this._visible = 0; Array.forEach(this.previews, function (preview) { @@ -681,7 +690,7 @@ var allTabs = { for (let i = 0; i < filter.length; i++) matches += tabstring.includes(filter[i]); } - if (matches < filter.length || tab.hidden) { + if (matches < filter.length || tab.hidden || (hidePinnedTabs && tab.pinned)) { preview.hidden = true; } else {