From 85ee22329cd670076c38e355dfade07f076ece84 Mon Sep 17 00:00:00 2001 From: Brooooooklyn Date: Thu, 21 Mar 2024 14:29:02 +0000 Subject: [PATCH] fix(electron): add icon for AppImage build (#6257) 1. the icon is fixed in `/Applications`: https://github.com/toeverything/electron-forge-maker-appimage/commit/128b8c22f9b2e088ce4f88057749b0a8cd55ca98#diff-a694a3e854f53b066e34ec310e05bd18b4944c016455f6963f54a351784d5fa6L91 2. the App's icon MUST be 64x64 png and set via `setIcon` ![image](https://github.com/toeverything/AFFiNE/assets/584378/bbce0007-066b-413f-a85a-193acbbe5c13) --- packages/frontend/electron/forge.config.mjs | 9 + packages/frontend/electron/package.json | 2 +- .../resources/icons/icon_beta_64x64.png | Bin 0 -> 5012 bytes .../resources/icons/icon_canary_64x64.png | Bin 0 -> 6281 bytes .../resources/icons/icon_internal_64x64.png | Bin 0 -> 6323 bytes .../resources/icons/icon_stable_64x64.png | Bin 0 -> 4138 bytes .../frontend/electron/scripts/make-env.ts | 6 + .../frontend/electron/src/main/main-window.ts | 7 + yarn.lock | 379 +++++++++++------- 9 files changed, 257 insertions(+), 146 deletions(-) create mode 100644 packages/frontend/electron/resources/icons/icon_beta_64x64.png create mode 100644 packages/frontend/electron/resources/icons/icon_canary_64x64.png create mode 100644 packages/frontend/electron/resources/icons/icon_internal_64x64.png create mode 100644 packages/frontend/electron/resources/icons/icon_stable_64x64.png diff --git a/packages/frontend/electron/forge.config.mjs b/packages/frontend/electron/forge.config.mjs index c115002dfc..1013a619c4 100644 --- a/packages/frontend/electron/forge.config.mjs +++ b/packages/frontend/electron/forge.config.mjs @@ -10,6 +10,7 @@ import { buildType, icnsPath, iconUrl, + iconX64PngPath, icoPath, platform, productName, @@ -77,6 +78,14 @@ const makers = [ !process.env.SKIP_BUNDLE && { name: '@pengx17/electron-forge-maker-appimage', platforms: ['linux'], + config: { + icons: [ + { + file: iconX64PngPath, + size: 64, + }, + ], + }, }, ].filter(Boolean); diff --git a/packages/frontend/electron/package.json b/packages/frontend/electron/package.json index 90790ee42e..5e2f5d3d04 100644 --- a/packages/frontend/electron/package.json +++ b/packages/frontend/electron/package.json @@ -42,7 +42,7 @@ "@electron-forge/plugin-auto-unpack-natives": "^7.3.0", "@electron-forge/shared-types": "^7.3.0", "@emotion/react": "^11.11.4", - "@pengx17/electron-forge-maker-appimage": "^1.0.2", + "@pengx17/electron-forge-maker-appimage": "^1.1.1", "@toeverything/infra": "workspace:*", "@types/uuid": "^9.0.8", "builder-util-runtime": "^9.2.4", diff --git a/packages/frontend/electron/resources/icons/icon_beta_64x64.png b/packages/frontend/electron/resources/icons/icon_beta_64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..cac5cf7df3daf89daacdff6cd12adf3b3a665b9b GIT binary patch literal 5012 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/electron/resources/icons/icon_internal_64x64.png b/packages/frontend/electron/resources/icons/icon_internal_64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..b493d8e912eb2c6d4bdba05308bc243145b88697 GIT binary patch literal 6323 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 literal 0 HcmV?d00001 diff --git a/packages/frontend/electron/resources/icons/icon_stable_64x64.png b/packages/frontend/electron/resources/icons/icon_stable_64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..0c00ef4687127921cd41d6334ce177d5961e8baf GIT binary patch literal 4138 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