diff --git a/packages/desktop-electron/icons/README.md b/packages/desktop-electron/icons/README.md index fa219a77ef..cf2f8e24c5 100644 --- a/packages/desktop-electron/icons/README.md +++ b/packages/desktop-electron/icons/README.md @@ -9,3 +9,6 @@ Here's the process I've been using to create icons: The Image2Icon step is necessary as the `icon.icns` generated by `app-icon.png` does not apply the shadow/padding expected by macOS, so app icons appear larger than expected. + +For unpackaged Electron on macOS, `app.dock.setIcon()` should use a PNG. Keep `dock.png` in each channel folder synced with the +extracted `icon_128x128@2x.png` from that channel's `icon.icns` so the dev Dock icon matches the packaged app inset. diff --git a/packages/desktop-electron/icons/beta/dock.png b/packages/desktop-electron/icons/beta/dock.png new file mode 100644 index 0000000000..f274ef6459 Binary files /dev/null and b/packages/desktop-electron/icons/beta/dock.png differ diff --git a/packages/desktop-electron/icons/dev/dock.png b/packages/desktop-electron/icons/dev/dock.png new file mode 100644 index 0000000000..4953d5531e Binary files /dev/null and b/packages/desktop-electron/icons/dev/dock.png differ diff --git a/packages/desktop-electron/icons/prod/dock.png b/packages/desktop-electron/icons/prod/dock.png new file mode 100644 index 0000000000..f2ab694e97 Binary files /dev/null and b/packages/desktop-electron/icons/prod/dock.png differ diff --git a/packages/desktop-electron/src/main/windows.ts b/packages/desktop-electron/src/main/windows.ts index 0b7783f289..170cd877cd 100644 --- a/packages/desktop-electron/src/main/windows.ts +++ b/packages/desktop-electron/src/main/windows.ts @@ -50,7 +50,8 @@ export function setTitlebar(win: BrowserWindow, theme: Partial = export function setDockIcon() { if (process.platform !== "darwin") return - app.dock?.setIcon(nativeImage.createFromPath(join(iconsDir(), "128x128@2x.png"))) + const icon = nativeImage.createFromPath(join(iconsDir(), "dock.png")) + if (!icon.isEmpty()) app.dock?.setIcon(icon) } export function createMainWindow(globals: Globals) {