mirror of
https://github.com/zen-browser/surfer.git
synced 2025-07-08 17:30:02 +02:00
chore: Add firefox.ico and firefox64.ico for branding
This commit is contained in:
parent
ca278d711a
commit
a90f79c780
2 changed files with 51 additions and 21 deletions
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "@zen-browser/surfer",
|
"name": "@zen-browser/surfer",
|
||||||
"version": "1.2.8",
|
"version": "1.2.9",
|
||||||
"description": "Simplifying building firefox forks!",
|
"description": "Simplifying building firefox forks!",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"bin": {
|
"bin": {
|
||||||
|
|
|
@ -41,7 +41,7 @@ export const BRANDING_DIR = join(CONFIGS_DIR, 'branding')
|
||||||
const BRANDING_STORE = join(ENGINE_DIR, 'browser', 'branding')
|
const BRANDING_STORE = join(ENGINE_DIR, 'browser', 'branding')
|
||||||
const BRANDING_FF = join(BRANDING_STORE, 'unofficial')
|
const BRANDING_FF = join(BRANDING_STORE, 'unofficial')
|
||||||
|
|
||||||
const REQUIRED_FILES = ['logo.png', 'logo-mac.png'];
|
const REQUIRED_FILES = ['logo.png', 'logo-mac.png', 'firefox.ico', 'firefox64.ico']
|
||||||
const BRANDING_NSIS = 'branding.nsi';
|
const BRANDING_NSIS = 'branding.nsi';
|
||||||
|
|
||||||
const CSS_REPLACE_REGEX = new RegExp(
|
const CSS_REPLACE_REGEX = new RegExp(
|
||||||
|
@ -87,27 +87,24 @@ async function setupImages(configPath: string, outputPath: string) {
|
||||||
|
|
||||||
// Firefox doesn't use 512 by 512, but we need it to generate ico files later
|
// Firefox doesn't use 512 by 512, but we need it to generate ico files later
|
||||||
await every([16, 22, 24, 32, 48, 64, 128, 256, 512], async (size) => {
|
await every([16, 22, 24, 32, 48, 64, 128, 256, 512], async (size) => {
|
||||||
await sharp(join(configPath, 'logo.png'))
|
const logoPath = join(configPath, `logo${size}.png`);
|
||||||
.resize(size, size)
|
if (!filesExist([logoPath])) throw new Error(`Missing logo${size}.png`);
|
||||||
.toFile(join(outputPath, `default${size}.png`))
|
|
||||||
|
|
||||||
await copyFile(
|
|
||||||
join(outputPath, `default${size}.png`),
|
|
||||||
join(configPath, `logo${size}.png`)
|
|
||||||
)
|
|
||||||
|
|
||||||
|
const outputPathLogo = join(outputPath, `default${size}.png`);
|
||||||
|
await copyFile(logoPath, outputPathLogo);
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
|
|
||||||
log.debug('Generating Windows Icons')
|
log.debug('Generating Windows Icons')
|
||||||
writeFileSync(
|
await copyFile(
|
||||||
join(outputPath, 'firefox.ico'),
|
join(configPath, "firefox.ico"),
|
||||||
await pngToIco([join(configPath, 'logo512.png')])
|
join(outputPath, "firefox.ico")
|
||||||
)
|
);
|
||||||
writeFileSync(
|
|
||||||
join(outputPath, 'firefox64.ico'),
|
await copyFile(
|
||||||
await pngToIco([join(configPath, 'logo64.png')])
|
join(configPath, "firefox64.ico"),
|
||||||
)
|
join(outputPath, "firefox64.ico")
|
||||||
|
);
|
||||||
|
|
||||||
// TODO: Custom MacOS icon support
|
// TODO: Custom MacOS icon support
|
||||||
if ((process as any).surferPlatform == 'darwin') {
|
if ((process as any).surferPlatform == 'darwin') {
|
||||||
|
@ -221,8 +218,10 @@ async function copyMozFiles(
|
||||||
const brandingNsis = files.filter((file) => file.includes(BRANDING_NSIS));
|
const brandingNsis = files.filter((file) => file.includes(BRANDING_NSIS));
|
||||||
console.assert(brandingNsis.length == 1, 'There should only be one branding.nsi file');
|
console.assert(brandingNsis.length == 1, 'There should only be one branding.nsi file');
|
||||||
const outputBrandingNsis = join(outputPath, brandingNsis[0].replace(BRANDING_FF, ''));
|
const outputBrandingNsis = join(outputPath, brandingNsis[0].replace(BRANDING_FF, ''));
|
||||||
|
const configureProfileBrandingPath = join(outputPath, 'pref', 'firefox-branding.js');
|
||||||
log.debug('Configuring branding.nsi into ' + outputBrandingNsis);
|
log.debug('Configuring branding.nsi into ' + outputBrandingNsis);
|
||||||
configureBrandingNsis(outputBrandingNsis, brandingConfig);
|
configureBrandingNsis(outputBrandingNsis, brandingConfig);
|
||||||
|
configureProfileBranding(configureProfileBrandingPath, brandingConfig);
|
||||||
|
|
||||||
// Copy everything else from the default firefox branding directory
|
// Copy everything else from the default firefox branding directory
|
||||||
for (const file of everythingElse) {
|
for (const file of everythingElse) {
|
||||||
|
@ -286,8 +285,8 @@ function configureBrandingNsis(brandingNsis: string, brandingConfig: {
|
||||||
!define BrandFullNameInternal "${brandingConfig.brandFullName}"
|
!define BrandFullNameInternal "${brandingConfig.brandFullName}"
|
||||||
!define BrandFullName "${brandingConfig.brandFullName}"
|
!define BrandFullName "${brandingConfig.brandFullName}"
|
||||||
!define CompanyName "${brandingConfig.brandingVendor}"
|
!define CompanyName "${brandingConfig.brandingVendor}"
|
||||||
!define URLInfoAbout "https://get-zen.vercel.app"
|
!define URLInfoAbout "https://zen-browser.app"
|
||||||
!define URLUpdateInfo "https://get-zen.vercel.app/release-notes/\${AppVersion}"
|
!define URLUpdateInfo "https://zen-browser.app/release-notes/\${AppVersion}"
|
||||||
!define HelpLink "https://github.com/zen-browser/desktop/issues"
|
!define HelpLink "https://github.com/zen-browser/desktop/issues"
|
||||||
|
|
||||||
; The OFFICIAL define is a workaround to support different urls for Release and
|
; The OFFICIAL define is a workaround to support different urls for Release and
|
||||||
|
@ -297,7 +296,7 @@ function configureBrandingNsis(brandingNsis: string, brandingConfig: {
|
||||||
!define URLStubDownloadX86 "https://download.mozilla.org/?os=win&lang=\${AB_CD}&product=firefox-latest"
|
!define URLStubDownloadX86 "https://download.mozilla.org/?os=win&lang=\${AB_CD}&product=firefox-latest"
|
||||||
!define URLStubDownloadAMD64 "https://download.mozilla.org/?os=win64&lang=\${AB_CD}&product=firefox-latest"
|
!define URLStubDownloadAMD64 "https://download.mozilla.org/?os=win64&lang=\${AB_CD}&product=firefox-latest"
|
||||||
!define URLStubDownloadAArch64 "https://download.mozilla.org/?os=win64-aarch64&lang=\${AB_CD}&product=firefox-latest"
|
!define URLStubDownloadAArch64 "https://download.mozilla.org/?os=win64-aarch64&lang=\${AB_CD}&product=firefox-latest"
|
||||||
!define URLManualDownload "https://get-zen.vercel.app/download"
|
!define URLManualDownload "https://zen-browser.app/download"
|
||||||
!define URLSystemRequirements "https://www.mozilla.org/firefox/system-requirements/"
|
!define URLSystemRequirements "https://www.mozilla.org/firefox/system-requirements/"
|
||||||
!define Channel "release"
|
!define Channel "release"
|
||||||
|
|
||||||
|
@ -352,6 +351,37 @@ function configureBrandingNsis(brandingNsis: string, brandingConfig: {
|
||||||
`);
|
`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function configureProfileBranding(brandingPath: string, brandingConfig: {
|
||||||
|
backgroundColor: string
|
||||||
|
brandShorterName: string
|
||||||
|
brandShortName: string
|
||||||
|
brandFullName: string
|
||||||
|
brandingGenericName: string
|
||||||
|
brandingVendor: string
|
||||||
|
}) {
|
||||||
|
writeFileSync(brandingPath, `
|
||||||
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
* 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/. */
|
||||||
|
|
||||||
|
pref("startup.homepage_override_url", "https://zen-browser.app/welcome/");
|
||||||
|
pref("startup.homepage_welcome_url", "https://zen-browser.app/welcome/");
|
||||||
|
pref("startup.homepage_welcome_url.additional", "https://zen-browser.app/privacy-policy/");
|
||||||
|
|
||||||
|
// Give the user x seconds to react before showing the big UI. default=192 hours
|
||||||
|
pref("app.update.promptWaitTime", 691200);
|
||||||
|
// app.update.url.manual: URL user can browse to manually if for some reason
|
||||||
|
// all update installation attempts fail.
|
||||||
|
// app.update.url.details: a default value for the "More information about this
|
||||||
|
// update" link supplied in the "An update is available" page of the update
|
||||||
|
// wizard.
|
||||||
|
pref("app.update.url.manual", "https://zen-browser.app/");
|
||||||
|
pref("app.update.url.details", "https://zen-browser.app/release-notes/latest/");
|
||||||
|
pref("app.releaseNotesURL", "https://zen-browser.app/release-notes/latest/");
|
||||||
|
pref("app.releaseNotesURL.aboutDialog", "https://zen-browser.app/");
|
||||||
|
`);
|
||||||
|
}
|
||||||
|
|
||||||
function setUpdateURLs() {
|
function setUpdateURLs() {
|
||||||
const sufix = (compatMode && (process as any).surferPlatform !== 'macos')
|
const sufix = (compatMode && (process as any).surferPlatform !== 'macos')
|
||||||
? '-generic' : '';
|
? '-generic' : '';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue