diff --git a/src/browser/components/screenshots/overlay/overlay-css.patch b/src/browser/components/screenshots/overlay/overlay-css.patch new file mode 100644 index 000000000..5230fd70e --- /dev/null +++ b/src/browser/components/screenshots/overlay/overlay-css.patch @@ -0,0 +1,23 @@ +diff --git a/browser/components/screenshots/overlay/overlay.css b/browser/components/screenshots/overlay/overlay.css +index 037b060327d896e1ec0d087ade80df7548c8c1f7..7a158291c56df0e3b01bf7a37d04de71940d395f 100644 +--- a/browser/components/screenshots/overlay/overlay.css ++++ b/browser/components/screenshots/overlay/overlay.css +@@ -225,6 +225,9 @@ + pointer-events: none; + position: absolute; + z-index: var(--screenshots-high-layer); ++ transition: all .1s; ++ border: 2px solid rgba(255,255,255,.4); ++ border-radius: 6px; + } + + #top-background { +@@ -243,7 +246,7 @@ + } + + .bghighlight { +- background-color: rgba(0, 0, 0, 0.7); ++ background-color: rgba(0, 0, 0, 0.5); + position: absolute; + overflow: clip; + pointer-events: none; diff --git a/src/zen/urlbar/ZenUBGlobalActions.sys.mjs b/src/zen/urlbar/ZenUBGlobalActions.sys.mjs index 878e94de5..003301c2d 100644 --- a/src/zen/urlbar/ZenUBGlobalActions.sys.mjs +++ b/src/zen/urlbar/ZenUBGlobalActions.sys.mjs @@ -2,6 +2,10 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +function isNotEmptyTab(window) { + return !window.gBrowser.selectedTab.hasAttribute('zen-empty-tab'); +} + const globalActionsTemplate = [ { label: 'Toggle Compact Mode', @@ -47,11 +51,21 @@ const globalActionsTemplate = [ icon: 'chrome://browser/skin/zen-icons/private-window.svg', }, { - label: 'Toggle Pinned Tab', + label: 'Pin Tab', command: 'cmd_zenTogglePinTab', icon: 'chrome://browser/skin/zen-icons/pin.svg', isAvailable: (window) => { - return !window.gBrowser.selectedTab.hasAttribute('zen-empty-tab'); + const tab = window.gBrowser.selectedTab; + return !tab.hasAttribute('zen-empty-tab') && !tab.pinned; + }, + }, + { + label: 'Unpin Tab', + command: 'cmd_zenTogglePinTab', + icon: 'chrome://browser/skin/zen-icons/unpin.svg', + isAvailable: (window) => { + const tab = window.gBrowser.selectedTab; + return !tab.hasAttribute('zen-empty-tab') && tab.pinned; }, }, { @@ -69,6 +83,38 @@ const globalActionsTemplate = [ command: 'cmd_close', icon: 'chrome://browser/skin/zen-icons/close.svg', suggestedIndex: 1, + isAvailable: (window) => { + return isNotEmptyTab(window); + }, + }, + { + label: 'Reload Tab', + command: 'Browser:Reload', + icon: 'chrome://browser/skin/zen-icons/reload.svg', + }, + { + label: 'Reload Tab Without Cache', + command: 'Browser:ReloadSkipCache', + icon: 'chrome://browser/skin/zen-icons/reload.svg', + }, + { + label: 'Next Tab', + command: 'Browser:NextTab', + icon: 'chrome://browser/skin/zen-icons/next-tab.svg', + }, + { + label: 'Previous Tab', + command: 'Browser:PrevTab', + icon: 'chrome://browser/skin/zen-icons/previous-tab.svg', + }, + { + label: 'Capture Screenshot', + command: 'Browser:Screenshot', + icon: 'chrome://browser/skin/zen-icons/screenshot.svg', + isAvailable: (window) => { + return isNotEmptyTab(window); + }, + suggestedIndex: 1, }, ]; diff --git a/src/zen/workspaces/ZenWorkspaces.mjs b/src/zen/workspaces/ZenWorkspaces.mjs index 06feb3c91..fefe4d42f 100644 --- a/src/zen/workspaces/ZenWorkspaces.mjs +++ b/src/zen/workspaces/ZenWorkspaces.mjs @@ -2555,12 +2555,14 @@ var gZenWorkspaces = new (class extends nsZenMultiWindowFeature { } } + #changeToEmptyTab() { + const isEmpty = gBrowser.selectedTab.hasAttribute('zen-empty-tab'); + gZenCompactModeManager.sidebar.toggleAttribute('zen-has-empty-tab', isEmpty); + } + async onLocationChange(event) { let tab = event.target; - gZenCompactModeManager.sidebar.toggleAttribute( - 'zen-has-empty-tab', - gBrowser.selectedTab.hasAttribute('zen-empty-tab') - ); + this.#changeToEmptyTab(); if (!this.workspaceEnabled || this._inChangingWorkspace || this._isClosingWindow) { return; }