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 @@ - - + + diff --git a/src/browser/themes/shared/zen-icons/win/move-tab.svg b/src/browser/themes/shared/zen-icons/win/move-tab.svg index a31995e06..84ffa51f0 100644 --- a/src/browser/themes/shared/zen-icons/win/move-tab.svg +++ b/src/browser/themes/shared/zen-icons/win/move-tab.svg @@ -1,3 +1,3 @@ - - + + diff --git a/src/browser/themes/shared/zen-icons/win/new-tab-image.svg b/src/browser/themes/shared/zen-icons/win/new-tab-image.svg index 44ff4be77..17eb3b054 100644 --- a/src/browser/themes/shared/zen-icons/win/new-tab-image.svg +++ b/src/browser/themes/shared/zen-icons/win/new-tab-image.svg @@ -1,3 +1,3 @@ - - + + diff --git a/surfer.json b/surfer.json index a41724e2c..acab912b8 100644 --- a/surfer.json +++ b/surfer.json @@ -36,7 +36,7 @@ "twilight": { "backgroundColor": "#282A33", "brandShorterName": "Zen", - "brandShortName": "Zen", + "brandShortName": "Twilight", "brandFullName": "Zen Twilight", "release": { "displayVersion": "1.8t", @@ -53,4 +53,4 @@ "licenseType": "MPL-2.0" }, "updateHostname": "updates.zen-browser.app" -} \ No newline at end of file +}