diff --git a/src/browser/app/profile/zen-browser.js b/src/browser/app/profile/zen-browser.js index 7f9246f3e..b3d524e4e 100644 --- a/src/browser/app/profile/zen-browser.js +++ b/src/browser/app/profile/zen-browser.js @@ -111,6 +111,7 @@ pref('zen.themes.updated-value-observer', false); pref('zen.tab-unloader.enabled', true); pref('zen.tab-unloader.timeout-minutes', 20); pref('zen.tab-unloader.excluded-urls', "example.com,example.org"); +pref('zen.tab-unloader.reset-pinned-tab-on-close-shortcut', true); // Pref to enable the new profiles (TODO: Check this out!) //pref("browser.profiles.enabled", true); diff --git a/src/browser/components/preferences/zen-settings.js b/src/browser/components/preferences/zen-settings.js index 36d4de02e..def9b768c 100644 --- a/src/browser/components/preferences/zen-settings.js +++ b/src/browser/components/preferences/zen-settings.js @@ -1020,4 +1020,9 @@ Preferences.addAll([ type: 'bool', default: false, }, + { + id: 'zen.tab-unloader.reset-pinned-tab-on-close-shortcut', + type: 'bool', + default: true, + }, ]); diff --git a/src/browser/components/preferences/zenTabsManagement.inc.xhtml b/src/browser/components/preferences/zenTabsManagement.inc.xhtml index c2b41f34f..d5954db77 100644 --- a/src/browser/components/preferences/zenTabsManagement.inc.xhtml +++ b/src/browser/components/preferences/zenTabsManagement.inc.xhtml @@ -48,6 +48,10 @@ data-l10n-id="zen-tabs-unloader-enabled" preference="zen.tab-unloader.enabled"/> + + diff --git a/src/browser/components/tabbrowser/content/tabbrowser-js.patch b/src/browser/components/tabbrowser/content/tabbrowser-js.patch index bce895bac..92d12be37 100644 --- a/src/browser/components/tabbrowser/content/tabbrowser-js.patch +++ b/src/browser/components/tabbrowser/content/tabbrowser-js.patch @@ -1,5 +1,5 @@ diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js -index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..807eb0c493f15643412b05d8dad81d36d7470155 100644 +index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..7ffa8f7d64f2ed13018e3f32f94e7b6835bdacdb 100644 --- a/browser/components/tabbrowser/content/tabbrowser.js +++ b/browser/components/tabbrowser/content/tabbrowser.js @@ -452,11 +452,26 @@ @@ -68,7 +68,7 @@ index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..807eb0c493f15643412b05d8dad81d36 if (!tabData.pinned) { this.unpinTab(tab); } else { -@@ -3297,6 +3328,13 @@ +@@ -3297,6 +3328,12 @@ preferredRemoteType, }); @@ -78,11 +78,24 @@ index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..807eb0c493f15643412b05d8dad81d36 + if (tabData.zenDefaultUserContextId) { + tab.setAttribute("zenDefaultUserContextId", "true"); + } -+ if (select) { tabToSelect = tab; } -@@ -4184,6 +4222,7 @@ +@@ -3331,7 +3368,13 @@ + this.tabContainer._invalidateCachedTabs(); + } + } ++ if (tabData.zenPinnedUrl) { ++ tab.setAttribute("zen-pinned-url", tabData.zenPinnedUrl); ++ } + ++ if (tabData.zenPinnedTitle) { ++ tab.setAttribute("zen-pinned-title", tabData.zenPinnedTitle); ++ } + tab.initialize(); + } + +@@ -4184,6 +4227,7 @@ isLastTab || aTab.pinned || aTab.hidden || @@ -90,7 +103,7 @@ index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..807eb0c493f15643412b05d8dad81d36 this._removingTabs.size > 3 /* don't want lots of concurrent animations */ || !aTab.hasAttribute( -@@ -5117,10 +5156,10 @@ +@@ -5117,10 +5161,10 @@ SessionStore.deleteCustomTabValue(aTab, "hiddenBy"); }, @@ -103,3 +116,15 @@ index ef857bd81f2cd7c163ecc74ac1cf81a0b63ce838..807eb0c493f15643412b05d8dad81d36 aTab.selected || aTab.closing || // Tabs that are sharing the screen, microphone or camera cannot be hidden. +@@ -7822,7 +7866,10 @@ var TabContextMenu = { + ); + contextUnpinSelectedTabs.hidden = + !this.contextTab.pinned || !multiselectionContext; +- ++ let contextResetPinnedTab = document.getElementById("context_zen-reset-pinned-tab"); ++ if(contextResetPinnedTab) { ++ contextResetPinnedTab.hidden = !this.contextTab.pinned || !this.contextTab.getAttribute("zen-pinned-url") || multiselectionContext; ++ } + // Move Tab items + let contextMoveTabOptions = document.getElementById( + "context_moveTabOptions" diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css index 5c671b7d4..802abe4a9 100644 --- a/src/browser/themes/shared/zen-icons/icons.css +++ b/src/browser/themes/shared/zen-icons/icons.css @@ -773,7 +773,8 @@ menuitem[id='placesContext_deleteHost'], #context_reloadTab, #context_reloadSelectedTabs, #toolbar-context-reloadSelectedTab, -#toolbar-context-reloadSelectedTabs { +#toolbar-context-reloadSelectedTabs, +#context_zen-reset-pinned-tab { --menu-image: url('reload.svg'); }