mirror of
https://github.com/zen-browser/desktop.git
synced 2025-10-05 17:36:34 +00:00
Merge branch 'dev' of https://github.com/zen-browser/desktop into dev
This commit is contained in:
@@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
## 🖥️ Compatibility
|
## 🖥️ Compatibility
|
||||||
|
|
||||||
Zen is currently built using Firefox version `136.0`! 🚀
|
Zen is currently built using Firefox version `136.0.1`! 🚀
|
||||||
|
|
||||||
- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 136.0`!
|
- [`Zen Twilight`](https://zen-browser.app/download?twilight) - Is currently built using Firefox version `RC 136.0`!
|
||||||
- Check out the latest [release notes](https://zen-browser.app/release-notes)!
|
- Check out the latest [release notes](https://zen-browser.app/release-notes)!
|
||||||
|
@@ -0,0 +1 @@
|
|||||||
|
6ad0ab3c43a6208d8bcd997b40e802fccd48ba0a
|
@@ -118,6 +118,7 @@ pref('zen.view.compact.animate-sidebar', true);
|
|||||||
pref('zen.view.compact.show-sidebar-and-toolbar-on-hover', true);
|
pref('zen.view.compact.show-sidebar-and-toolbar-on-hover', true);
|
||||||
|
|
||||||
pref('zen.urlbar.replace-newtab', true);
|
pref('zen.urlbar.replace-newtab', true);
|
||||||
|
pref('zen.urlbar.show-protections-icon', false);
|
||||||
pref('zen.urlbar.behavior', 'floating-on-type'); // default, floating-on-type, float
|
pref('zen.urlbar.behavior', 'floating-on-type'); // default, floating-on-type, float
|
||||||
pref('zen.urlbar.wait-to-clear', 45000); // in ms (default 45s)
|
pref('zen.urlbar.wait-to-clear', 45000); // in ms (default 45s)
|
||||||
pref('zen.urlbar.show-domain-only-in-sidebar', true);
|
pref('zen.urlbar.show-domain-only-in-sidebar', true);
|
||||||
|
@@ -870,6 +870,7 @@
|
|||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
|
border-radius: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&::after {
|
&::after {
|
||||||
|
@@ -16,6 +16,10 @@
|
|||||||
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
--urlbarView-highlight-background: var(--toolbarbutton-hover-background);
|
||||||
border-radius: var(--toolbarbutton-border-radius);
|
border-radius: var(--toolbarbutton-border-radius);
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
|
|
||||||
|
:root:not([zen-single-toolbar='true']) &[zen-floating-urlbar='true'] {
|
||||||
|
--urlbar-container-padding: 2px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.urlbar-input::placeholder {
|
.urlbar-input::placeholder {
|
||||||
@@ -90,6 +94,12 @@
|
|||||||
justify-content: center !important;
|
justify-content: center !important;
|
||||||
align-items: center !important;
|
align-items: center !important;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
||||||
|
:root[zen-single-toolbar='true'] & {
|
||||||
|
padding: 6px !important;
|
||||||
|
width: unset !important;
|
||||||
|
height: unset !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#tracking-protection-icon-container {
|
#tracking-protection-icon-container {
|
||||||
@@ -454,6 +464,12 @@ button.popup-notification-dropmarker {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media not (-moz-bool-pref: 'zen.urlbar.show-protections-icon') {
|
||||||
|
#tracking-protection-icon-container {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Code ~~stolen~~ taken inspiration from https://github.com/greeeen-dev/zen-arc-cmd-bar
|
/* Code ~~stolen~~ taken inspiration from https://github.com/greeeen-dev/zen-arc-cmd-bar
|
||||||
*
|
*
|
||||||
* MIT License
|
* MIT License
|
||||||
|
@@ -37,6 +37,9 @@ var gZenCompactModeManager = {
|
|||||||
|
|
||||||
this.addMouseActions();
|
this.addMouseActions();
|
||||||
this.addContextMenu();
|
this.addContextMenu();
|
||||||
|
|
||||||
|
// Clear hover states when window state changes (minimize, maximize, etc.)
|
||||||
|
window.addEventListener('sizemodechange', () => this._clearAllHoverStates());
|
||||||
},
|
},
|
||||||
|
|
||||||
get preference() {
|
get preference() {
|
||||||
@@ -450,4 +453,15 @@ var gZenCompactModeManager = {
|
|||||||
let toolbar = document.getElementById('zen-appcontent-navbar-container');
|
let toolbar = document.getElementById('zen-appcontent-navbar-container');
|
||||||
toolbar.toggleAttribute('zen-user-show');
|
toolbar.toggleAttribute('zen-user-show');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_clearAllHoverStates() {
|
||||||
|
// Clear hover attributes from all hoverable elements
|
||||||
|
for (let entry of this.hoverableElements) {
|
||||||
|
const target = entry.element;
|
||||||
|
if (target && !target.matches(':hover') && target.hasAttribute('zen-has-hover')) {
|
||||||
|
target.removeAttribute('zen-has-hover');
|
||||||
|
this.clearFlashTimeout('has-hover' + target.id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
@@ -211,7 +211,6 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(hasFocused);
|
|
||||||
if (onTabClose && hasFocused && !this.#confirmationTimeout) {
|
if (onTabClose && hasFocused && !this.#confirmationTimeout) {
|
||||||
const cancelButton = document.getElementById('zen-glance-sidebar-close');
|
const cancelButton = document.getElementById('zen-glance-sidebar-close');
|
||||||
cancelButton.setAttribute('waitconfirmation', true);
|
cancelButton.setAttribute('waitconfirmation', true);
|
||||||
|
@@ -466,6 +466,7 @@
|
|||||||
|
|
||||||
if (!isClosing) {
|
if (!isClosing) {
|
||||||
tab.removeAttribute('zen-pin-id');
|
tab.removeAttribute('zen-pin-id');
|
||||||
|
tab.removeAttribute('zen-essential'); // Just in case
|
||||||
|
|
||||||
if (!tab.hasAttribute('zen-workspace-id') && ZenWorkspaces.workspaceEnabled) {
|
if (!tab.hasAttribute('zen-workspace-id') && ZenWorkspaces.workspaceEnabled) {
|
||||||
const workspace = await ZenWorkspaces.getActiveWorkspace();
|
const workspace = await ZenWorkspaces.getActiveWorkspace();
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
diff --git a/browser/components/sessionstore/SessionStore.sys.mjs b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
index f814772114948f87cbb3c3a7231c95ea1f68d776..5c65be81c635e2cb457d8975c197d6a22f6f5bc7 100644
|
index f814772114948f87cbb3c3a7231c95ea1f68d776..ae35daa518ca25f4fc95ef983519c390bf088a68 100644
|
||||||
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
--- a/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
+++ b/browser/components/sessionstore/SessionStore.sys.mjs
|
||||||
@@ -3171,7 +3171,7 @@ var SessionStoreInternal = {
|
@@ -3171,7 +3171,7 @@ var SessionStoreInternal = {
|
||||||
@@ -45,7 +45,7 @@ index f814772114948f87cbb3c3a7231c95ea1f68d776..5c65be81c635e2cb457d8975c197d6a2
|
|||||||
selectedIndex = 1;
|
selectedIndex = 1;
|
||||||
winData.title = tabbrowser.tabs[0].label;
|
winData.title = tabbrowser.tabs[0].label;
|
||||||
}
|
}
|
||||||
@@ -6086,6 +6087,21 @@ var SessionStoreInternal = {
|
@@ -6086,8 +6087,23 @@ var SessionStoreInternal = {
|
||||||
|
|
||||||
// Most of tabData has been restored, now continue with restoring
|
// Most of tabData has been restored, now continue with restoring
|
||||||
// attributes that may trigger external events.
|
// attributes that may trigger external events.
|
||||||
@@ -65,5 +65,8 @@ index f814772114948f87cbb3c3a7231c95ea1f68d776..5c65be81c635e2cb457d8975c197d6a2
|
|||||||
+ tab.setAttribute("zenDefaultUserContextId", true);
|
+ tab.setAttribute("zenDefaultUserContextId", true);
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
if (tabData.pinned) {
|
- if (tabData.pinned) {
|
||||||
|
+ if (tabData.pinned || tabData.zenEssential) {
|
||||||
tabbrowser.pinTab(tab);
|
tabbrowser.pinTab(tab);
|
||||||
|
} else {
|
||||||
|
tabbrowser.unpinTab(tab);
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/browser/components/sessionstore/TabState.sys.mjs b/browser/components/sessionstore/TabState.sys.mjs
|
diff --git a/browser/components/sessionstore/TabState.sys.mjs b/browser/components/sessionstore/TabState.sys.mjs
|
||||||
index 8f7ed557e6aa61e7e16ed4a8d785ad5fe651b3d8..4c9f17408b912a2c51ebc1a670062203bf4994f3 100644
|
index 8f7ed557e6aa61e7e16ed4a8d785ad5fe651b3d8..aff63696d198055886960072a6130318e099ae42 100644
|
||||||
--- a/browser/components/sessionstore/TabState.sys.mjs
|
--- a/browser/components/sessionstore/TabState.sys.mjs
|
||||||
+++ b/browser/components/sessionstore/TabState.sys.mjs
|
+++ b/browser/components/sessionstore/TabState.sys.mjs
|
||||||
@@ -80,10 +80,19 @@ class _TabState {
|
@@ -80,10 +80,20 @@ class _TabState {
|
||||||
tabData.muteReason = tab.muteReason;
|
tabData.muteReason = tab.muteReason;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -14,6 +14,7 @@ index 8f7ed557e6aa61e7e16ed4a8d785ad5fe651b3d8..4c9f17408b912a2c51ebc1a670062203
|
|||||||
+ tabData.zenWorkspace = tab.getAttribute("zen-workspace-id");
|
+ tabData.zenWorkspace = tab.getAttribute("zen-workspace-id");
|
||||||
+ tabData.zenPinnedId = tab.getAttribute("zen-pin-id");
|
+ tabData.zenPinnedId = tab.getAttribute("zen-pin-id");
|
||||||
+ tabData.zenEssential = tab.getAttribute("zen-essential");
|
+ tabData.zenEssential = tab.getAttribute("zen-essential");
|
||||||
|
+ tabData.pinned = tabData.pinned || tabData.zenEssential;
|
||||||
+ tabData.zenDefaultUserContextId = tab.getAttribute("zenDefaultUserContextId");
|
+ tabData.zenDefaultUserContextId = tab.getAttribute("zenDefaultUserContextId");
|
||||||
+ tabData.zenPinnedEntry = tab.getAttribute("zen-pinned-entry");
|
+ tabData.zenPinnedEntry = tab.getAttribute("zen-pinned-entry");
|
||||||
+ tabData.zenPinnedIcon = tab.getAttribute("zen-pinned-icon");
|
+ tabData.zenPinnedIcon = tab.getAttribute("zen-pinned-icon");
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
index 628aa6596627c85efe361fc1ece8fd58f7ee653e..6bd5149f4be6c18cbf733b5b9ee01534af61bef9 100644
|
index 628aa6596627c85efe361fc1ece8fd58f7ee653e..cd3ad53dbe399383178d0eff459ad72079b02024 100644
|
||||||
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
--- a/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
+++ b/browser/components/tabbrowser/content/tabbrowser.js
|
||||||
@@ -412,11 +412,50 @@
|
@@ -412,11 +412,50 @@
|
||||||
@@ -529,13 +529,11 @@ index 628aa6596627c85efe361fc1ece8fd58f7ee653e..6bd5149f4be6c18cbf733b5b9ee01534
|
|||||||
} else {
|
} else {
|
||||||
aIndex = Math.max(aIndex, this.pinnedTabCount);
|
aIndex = Math.max(aIndex, this.pinnedTabCount);
|
||||||
}
|
}
|
||||||
@@ -5684,11 +5821,18 @@
|
@@ -5685,10 +5822,17 @@
|
||||||
}
|
|
||||||
|
|
||||||
this._handleTabMove(aTab, () => {
|
this._handleTabMove(aTab, () => {
|
||||||
- let neighbor = this.tabs[aIndex];
|
let neighbor = this.tabs[aIndex];
|
||||||
- if (forceStandaloneTab && neighbor.group) {
|
- if (forceStandaloneTab && neighbor.group) {
|
||||||
+ let neighbor = this.tabs.filter(tab => !tab.hasAttribute("zen-glance-tab"))[aIndex];
|
|
||||||
+ const _tPos = aTab._tPos;
|
+ const _tPos = aTab._tPos;
|
||||||
+ if ((forceStandaloneTab && neighbor.group) || neighbor.group?.hasAttribute("split-view-group")) {
|
+ if ((forceStandaloneTab && neighbor.group) || neighbor.group?.hasAttribute("split-view-group")) {
|
||||||
neighbor = neighbor.group;
|
neighbor = neighbor.group;
|
||||||
|
@@ -5,8 +5,8 @@
|
|||||||
"binaryName": "zen",
|
"binaryName": "zen",
|
||||||
"version": {
|
"version": {
|
||||||
"product": "firefox",
|
"product": "firefox",
|
||||||
"version": "136.0",
|
"version": "136.0.1",
|
||||||
"candidate": "136.0"
|
"candidate": "136.0.1"
|
||||||
},
|
},
|
||||||
"buildOptions": {
|
"buildOptions": {
|
||||||
"generateBranding": true
|
"generateBranding": true
|
||||||
|
Reference in New Issue
Block a user