diff --git a/.github/workflows/macos-universal-release-build.yml b/.github/workflows/macos-universal-release-build.yml
index a940d2714..2afa50f72 100644
--- a/.github/workflows/macos-universal-release-build.yml
+++ b/.github/workflows/macos-universal-release-build.yml
@@ -132,7 +132,7 @@ jobs:
- name: Find first .app folder name
run: |
cd engine/obj-x86_64-apple-darwin/dist
- export APP_NAME=$(basename "$(find . -maxdepth 1 -name "Zen *.app" -type d | head -n 1)" .app)
+ export APP_NAME=${{ inputs.release-branch == 'twilight' && 'Twilight' || 'Zen' }}
echo "APP_NAME=$APP_NAME" >> $GITHUB_ENV
echo "APP_NAME=$APP_NAME"
diff --git a/src/browser/base/content/ZenStartup.mjs b/src/browser/base/content/ZenStartup.mjs
index bbbf20b48..b7cc2f845 100644
--- a/src/browser/base/content/ZenStartup.mjs
+++ b/src/browser/base/content/ZenStartup.mjs
@@ -122,7 +122,7 @@
_checkForWelcomePage() {
if (!Services.prefs.getBoolPref('zen.welcome-screen.seen', false)) {
- Services.prefs.setBoolPref('zen.welcome-screen.seen', true);
+ //Services.prefs.setBoolPref('zen.welcome-screen.seen', true);
Services.scriptloader.loadSubScript('chrome://browser/content/zen-components/ZenWelcome.mjs', window);
}
},
diff --git a/src/browser/base/content/zen-styles/zen-browser-ui.css b/src/browser/base/content/zen-styles/zen-browser-ui.css
index 41256f2d1..f1bf90780 100644
--- a/src/browser/base/content/zen-styles/zen-browser-ui.css
+++ b/src/browser/base/content/zen-styles/zen-browser-ui.css
@@ -58,7 +58,7 @@
@media (not (-moz-windows-mica)) and (-moz-bool-pref: 'zen.view.grey-out-inactive-windows') {
transition: color var(--inactive-window-transition);
- &:-moz-window-inactive {
+ :root:not([zen-welcome-stage]) &:-moz-window-inactive {
color: var(--toolbox-textcolor-inactive);
&::after {
background-color: var(--toolbox-bgcolor-inactive);
diff --git a/src/browser/base/content/zen-styles/zen-popup.css b/src/browser/base/content/zen-styles/zen-popup.css
index fb2a2e5ac..39d269389 100644
--- a/src/browser/base/content/zen-styles/zen-popup.css
+++ b/src/browser/base/content/zen-styles/zen-popup.css
@@ -88,10 +88,6 @@ panel {
padding-inline-start: calc(16px + var(--uc-arrowpanel-menuicon-margin-inline));
}
-.subviewbutton > .toolbarbutton-icon {
- width: 15px;
-}
-
/* firefox profile avatar in appmenu */
#appMenu-fxa-label2::before {
content: '';
diff --git a/src/browser/base/content/zen-styles/zen-theme.css b/src/browser/base/content/zen-styles/zen-theme.css
index fb90fcaaa..520f6ce27 100644
--- a/src/browser/base/content/zen-styles/zen-theme.css
+++ b/src/browser/base/content/zen-styles/zen-theme.css
@@ -138,6 +138,9 @@
--fp-contextmenu-menuitem-border-radius: calc(4px + var(--fp-contextmenu-menuitem-border-width));
--fp-contextmenu-menuitem-padding-block: 6px;
--fp-contextmenu-menuitem-padding-inline: 10px;
+ @media (-moz-platform: windows) {
+ --fp-contextmenu-menuitem-padding-inline: 8px;
+ }
--fp-contextmenu-menuitem-border-width: 2px;
--fp-contextmenu-menuicon-margin-inline: 12px;
--fp-contextmenu-menuitem-margin-inline: calc(4px - var(--fp-contextmenu-menuitem-border-width));
diff --git a/src/browser/base/content/zen-styles/zen-urlbar.css b/src/browser/base/content/zen-styles/zen-urlbar.css
index 042c4d400..ac09c662c 100644
--- a/src/browser/base/content/zen-styles/zen-urlbar.css
+++ b/src/browser/base/content/zen-styles/zen-urlbar.css
@@ -126,6 +126,10 @@
backdrop-filter: none !important;
}
+#urlbar-go-button {
+ margin: auto 0;
+}
+
:root[zen-single-toolbar='true'] {
.urlbar-page-action:not([open]),
#tracking-protection-icon-container {
diff --git a/src/browser/base/content/zen-styles/zen-welcome.css b/src/browser/base/content/zen-styles/zen-welcome.css
index 5fef6355b..ec96fc3d9 100644
--- a/src/browser/base/content/zen-styles/zen-welcome.css
+++ b/src/browser/base/content/zen-styles/zen-welcome.css
@@ -145,6 +145,12 @@
}
}
+ #zen-welcome-workspace-colors-anchor {
+ width: 1px;
+ height: 1px;
+ margin: 10% auto auto 30%;
+ }
+
#zen-welcome-initial-essentials-browser {
width: 70%;
height: 80%;
@@ -180,8 +186,8 @@
}
#zen-welcome-initial-essentials-browser-sidebar-essentials {
- display: flex;
- flex-wrap: wrap;
+ display: grid;
+ grid-template-columns: repeat(3, 1fr);
gap: 0.8rem;
visibility: visible;
@@ -195,6 +201,7 @@
border-radius: 0.8rem;
margin-top: 0.5rem;
background: var(--zen-toolbar-element-bg);
+ grid-column: span 3;
}
& .tabbrowser-tab {
diff --git a/src/browser/base/zen-components/ZenPinnedTabManager.mjs b/src/browser/base/zen-components/ZenPinnedTabManager.mjs
index 27718fdc1..e28c8c608 100644
--- a/src/browser/base/zen-components/ZenPinnedTabManager.mjs
+++ b/src/browser/base/zen-components/ZenPinnedTabManager.mjs
@@ -99,6 +99,7 @@
}
async _refreshPinnedTabs({ init = false } = {}) {
+ await ZenWorkspaces.promiseSectionsInitialized;
await this._initializePinsCache();
await this._initializePinnedTabs(init);
}
@@ -249,10 +250,10 @@
this.log(`Created new pinned tab for pin ${pin.uuid} (isEssential: ${pin.isEssential})`);
gBrowser.pinTab(newTab);
if (!pin.isEssential) {
- const contaienr = document.querySelector(
+ const container = document.querySelector(
`#vertical-pinned-tabs-container .zen-workspace-tabs-section[zen-workspace-id="${pin.workspaceUuid}"]`
);
- contaienr.insertBefore(newTab, contaienr.lastChild);
+ container.insertBefore(newTab, container.lastChild);
}
gBrowser.tabContainer._invalidateCachedTabs();
diff --git a/src/browser/base/zen-components/ZenWelcome.mjs b/src/browser/base/zen-components/ZenWelcome.mjs
index bbb5b8ed4..191741a41 100644
--- a/src/browser/base/zen-components/ZenWelcome.mjs
+++ b/src/browser/base/zen-components/ZenWelcome.mjs
@@ -285,8 +285,23 @@
},
},
],
- fadeIn() {},
- fadeOut() {},
+ fadeIn() {
+ const anchor = document.createElement('div');
+ anchor.id = 'zen-welcome-workspace-colors-anchor';
+ document.getElementById('zen-welcome-page-content').appendChild(anchor);
+ gZenThemePicker.panel.setAttribute('noautohide', 'true');
+ gZenThemePicker.panel.setAttribute('consumeoutsideclicks', 'false');
+ PanelMultiView.openPopup(gZenThemePicker.panel, anchor, {
+ position: 'top',
+ });
+ },
+ async fadeOut() {
+ gZenThemePicker.panel.removeAttribute('noautohide');
+ gZenThemePicker.panel.removeAttribute('consumeoutsideclicks');
+ await animate(gZenThemePicker.panel, { opacity: [1, 0] });
+ gZenThemePicker.panel.hidePopup();
+ gZenThemePicker.panel.removeAttribute('style');
+ },
},
{
text: [
@@ -381,7 +396,16 @@
tab.toggleAttribute('visuallyselected');
});
},
- fadeOut() {},
+ fadeOut() {
+ const selectedTabs = document.getElementById('zen-welcome-initial-essentials-browser-sidebar-essentials').querySelectorAll('.tabbrowser-tab[visuallyselected]');
+ for (const tab of selectedTabs) {
+ const url = tab.getAttribute('data-url');
+ const createdTab = window.gBrowser.addTrustedTab(url, {
+ inBackground: true,
+ });
+ gZenPinnedTabManager.addToEssentials(createdTab);
+ }
+ },
},
{
text: [
diff --git a/src/browser/base/zen-components/ZenWorkspaces.mjs b/src/browser/base/zen-components/ZenWorkspaces.mjs
index 2a488401e..592a547c4 100644
--- a/src/browser/base/zen-components/ZenWorkspaces.mjs
+++ b/src/browser/base/zen-components/ZenWorkspaces.mjs
@@ -171,7 +171,7 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
const tabs = gBrowser.tabContainer.allTabs;
const workspaces = await this._workspaces();
for (const workspace of workspaces.workspaces) {
- this._createWorkspaceTabsSection(workspace, tabs, perifery);
+ await this._createWorkspaceTabsSection(workspace, tabs, perifery);
}
if (tabs.length) {
const defaultSelectedContainer = document.querySelector(
@@ -379,7 +379,6 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
event.preventDefault();
event.stopPropagation();
-
this._swipeState = {
isGestureActive: true,
lastDelta: 0,
@@ -393,14 +392,14 @@ var ZenWorkspaces = new (class extends ZenMultiWindowFeature {
event.preventDefault();
event.stopPropagation();
- const delta = event.delta * 300 + 1;
+ const delta = event.delta * 300;
const stripWidth = document.getElementById('tabbrowser-tabs').getBoundingClientRect().width;
let translateX = this._swipeState.lastDelta + delta;
// Add a force multiplier as we are translating the strip depending on how close to the edge we are
let forceMultiplier = Math.min(1, 1 - Math.abs(translateX) / (stripWidth * 4.5)); // 4.5 instead of 4 to add a bit of a buffer
if (forceMultiplier > 0.5) {
translateX *= forceMultiplier;
- this._swipeState.lastDelta = delta;
+ this._swipeState.lastDelta = delta + (translateX - delta) * 0.5;
} else {
translateX = this._swipeState.lastDelta;
}
diff --git a/src/browser/themes/shared/zen-icons/icons.css b/src/browser/themes/shared/zen-icons/icons.css
index aa00115d3..554de7fab 100644
--- a/src/browser/themes/shared/zen-icons/icons.css
+++ b/src/browser/themes/shared/zen-icons/icons.css
@@ -643,7 +643,7 @@
#PanelUI-history toolbarbutton,
#unified-extensions-context-menu menuitem {
background-image: var(--menu-image) !important;
- background-size: 16px !important;
+ background-size: 20px !important;
background-position: var(--fp-contextmenu-menuitem-padding-inline) center !important;
background-repeat: no-repeat !important;
-moz-context-properties: fill, fill-opacity !important;
diff --git a/src/browser/themes/shared/zen-icons/lin/icons.css b/src/browser/themes/shared/zen-icons/lin/icons.css
index a44d27339..e492aa771 100644
--- a/src/browser/themes/shared/zen-icons/lin/icons.css
+++ b/src/browser/themes/shared/zen-icons/lin/icons.css
@@ -382,11 +382,16 @@
#protections-popup-mainView .subviewbutton-nav:not(.notFound)::after,
#identity-popup-mainView .subviewbutton-nav::after,
.widget-overflow-list .subviewbutton-nav::after,
-.PanelUI-subView .subviewbutton-nav::after,
.menu-right {
content: url('arrow-right.svg') !important;
}
+@media not (-moz-platform: windows) {
+ #PanelUI-subView .subviewbutton-nav::after {
+ content: url('arrow-right.svg') !important;
+ }
+}
+
#PlacesChevron,
#urlbar-go-button {
list-style-image: url('arrow-right.svg') !important;
diff --git a/src/browser/themes/shared/zen-icons/win/drag-indicator.svg b/src/browser/themes/shared/zen-icons/win/drag-indicator.svg
index 2a105bb92..01edf38a6 100644
--- a/src/browser/themes/shared/zen-icons/win/drag-indicator.svg
+++ b/src/browser/themes/shared/zen-icons/win/drag-indicator.svg
@@ -1,8 +1,8 @@
diff --git a/src/browser/themes/shared/zen-icons/win/edit-theme.svg b/src/browser/themes/shared/zen-icons/win/edit-theme.svg
index 8a565f13d..ef696cb1c 100644
--- a/src/browser/themes/shared/zen-icons/win/edit-theme.svg
+++ b/src/browser/themes/shared/zen-icons/win/edit-theme.svg
@@ -1,3 +1,3 @@
-