Search code examples
node.jsiconselectronpackaging

Electron — Can't get custom icon to appear


I'm having an issue setting the icon for my Electron app in two different ways:

Non-Packaged (Running the app via terminal)

My main.js does specify an 'icon' value, pointing to the icon file, but it does not apply.

Packaged (with electron-packager)

My package.json file specifies the 'icon' key, pointing to the icon file, and I have the .icns (Mac) file in the build directory. I used electron-packager to build the app, but the icon is not applied, the default electron icon is used instead.

Not sure what I'm doing wrong here, everything appears correct.


Solution

  • If you mean the icon on the dock, on MAC can should use:

    const app = electron.app;
    const image = electron.nativeImage.createFromPath(
      app.getAppPath() + "/public/YOUR_APP_IMAGE_NAME"
    );
    app.dock.setIcon(image);