Parcourir la source

fix(desktop-electron): match dev dock icon inset on macOS (#19429)

Kit Langton il y a 2 semaines
Parent
commit
d36b38e4a6

+ 3 - 0
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 `[email protected]` from that channel's `icon.icns` so the dev Dock icon matches the packaged app inset.

BIN
packages/desktop-electron/icons/beta/dock.png


BIN
packages/desktop-electron/icons/dev/dock.png


BIN
packages/desktop-electron/icons/prod/dock.png


+ 2 - 1
packages/desktop-electron/src/main/windows.ts

@@ -50,7 +50,8 @@ export function setTitlebar(win: BrowserWindow, theme: Partial<TitlebarTheme> =
 
 export function setDockIcon() {
   if (process.platform !== "darwin") return
-  app.dock?.setIcon(nativeImage.createFromPath(join(iconsDir(), "[email protected]")))
+  const icon = nativeImage.createFromPath(join(iconsDir(), "dock.png"))
+  if (!icon.isEmpty()) app.dock?.setIcon(icon)
 }
 
 export function createMainWindow(globals: Globals) {