feat: Added more urlbar commands, b=no-bug, c=workspaces

This commit is contained in:
Mr. M
2025-09-18 01:12:52 +02:00
parent f08c69f1e9
commit 87d513c51d
3 changed files with 77 additions and 6 deletions

View File

@@ -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;

View File

@@ -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,
},
];

View File

@@ -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;
}