Compare commits

..

8 Commits

Author SHA1 Message Date
Michael Telatynski
a8237537c0 Remove patch for dmg-builder perspective removal for now
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-20 22:48:06 +00:00
Michael Telatynski
ac894dad4b Install Quartz in GHA
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-20 21:58:40 +00:00
Michael Telatynski
df188fdd43 Tweak badge icon position & remove perspective transform
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-20 17:44:21 +00:00
Michael Telatynski
62d1dca2e7 Fix badge-icon patch
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-20 17:44:08 +00:00
Michael Telatynski
6408d82483 Merge branch 'develop' into t3chguy/mac-dmg-badge 2026-01-20 15:37:03 +00:00
Michael Telatynski
80e4e34091 Remove dmg.icon override
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-20 15:35:33 +00:00
Michael Telatynski
6afeba0d39 Patch dmg-builder
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-20 15:35:22 +00:00
Michael Telatynski
781d29c51c Generate badge icon for macOS DMG
to differentiate mounted DMG from executable

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-01-20 15:16:44 +00:00
5 changed files with 630 additions and 605 deletions

View File

@@ -109,6 +109,10 @@ jobs:
with:
python-version: "3.13"
# Install Quartz for DMG badges
# https://github.com/electron-userland/electron-builder/issues/9511#issuecomment-3774092888
- run: sudo pip3 install pyobjc-framework-Quartz
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6
with:
node-version-file: .node-version

View File

@@ -162,6 +162,9 @@ const config: Omit<Writable<Configuration>, "electronFuses"> & {
mergeASARs: true,
x64ArchFiles: "**/matrix-seshat/*.node", // hak already runs lipo
},
dmg: {
badgeIcon: "build/icon.icon",
},
win: {
target: ["squirrel", "msi"],
signtoolOptions: {

View File

@@ -85,12 +85,12 @@
"@types/pacote": "^11.1.1",
"@typescript-eslint/eslint-plugin": "^8.0.0",
"@typescript-eslint/parser": "^8.0.0",
"app-builder-lib": "26.4.0",
"app-builder-lib": "26.5.0",
"chokidar": "^5.0.0",
"detect-libc": "^2.0.0",
"electron": "40.0.0",
"electron-builder": "26.4.0",
"electron-builder-squirrel-windows": "26.4.0",
"electron-builder": "26.5.0",
"electron-builder-squirrel-windows": "26.5.0",
"electron-devtools-installer": "^4.0.0",
"eslint": "^8.26.0",
"eslint-config-google": "^0.14.0",
@@ -118,10 +118,10 @@
"matrix-seshat": "^4.0.1"
},
"resolutions": {
"atomically": "2.1.0",
"atomically": "2.0.5",
"@types/node": "18.19.130",
"config-file-ts": "0.2.8-rc1",
"node-abi": "4.25.0",
"node-abi": "4.24.0",
"@types/pg-pool": "2.0.7"
}
}

View File

@@ -0,0 +1,29 @@
diff --git a/node_modules/dmg-builder/out/dmgUtil.js b/node_modules/dmg-builder/out/dmgUtil.js
index acf576a..c306492 100644
--- a/node_modules/dmg-builder/out/dmgUtil.js
+++ b/node_modules/dmg-builder/out/dmgUtil.js
@@ -99,7 +99,6 @@ async function customizeDmg({ appPath, artifactPath, volumeName, specification,
const settings = {
title: path.basename(volumePath),
icon: await packager.getResource(specification.icon),
- "badge-icon": await packager.getResource(specification.badgeIcon),
"icon-size": specification.iconSize,
"text-size": iconTextSize,
"compression-level": Number(process.env.ELECTRON_BUILDER_COMPRESSION_LEVEL || "9"),
@@ -114,6 +113,16 @@ async function customizeDmg({ appPath, artifactPath, volumeName, specification,
// hide_extension: c.hideExtension,
}))) || [],
};
+
+ if (specification.badgeIcon) {
+ let badgeIcon = await packager.getResource(specification.badgeIcon);
+ if (badgeIcon.toLowerCase().endsWith(".icon")) {
+ badgeIcon = await packager.generateIcnsFromIcon(badgeIcon)
+ }
+ settings["badge-icon"] = badgeIcon;
+ delete settings["icon"];
+ }
+
if (specification.backgroundColor != null || specification.background == null) {
settings["background-color"] = specification.backgroundColor || "#ffffff";
const window = specification.window;

1189
yarn.lock
View File

File diff suppressed because it is too large Load Diff