diff --git a/src/images/icon-highlight.png b/src/images/icon-highlight.png new file mode 100644 index 00000000000..ffae9607119 Binary files /dev/null and b/src/images/icon-highlight.png differ diff --git a/src/images/icon-highlight@2x.png b/src/images/icon-highlight@2x.png new file mode 100644 index 00000000000..3b4c7966cce Binary files /dev/null and b/src/images/icon-highlight@2x.png differ diff --git a/src/images/icon-template.png b/src/images/icon-template.png new file mode 100644 index 00000000000..f2c07580ea3 Binary files /dev/null and b/src/images/icon-template.png differ diff --git a/src/images/icon-template@2x.png b/src/images/icon-template@2x.png new file mode 100644 index 00000000000..1affdbd1a84 Binary files /dev/null and b/src/images/icon-template@2x.png differ diff --git a/src/main/tray.main.ts b/src/main/tray.main.ts index 976ea4bbec6..d5d8d3cf39d 100644 --- a/src/main/tray.main.ts +++ b/src/main/tray.main.ts @@ -1,4 +1,7 @@ -import { Tray } from 'electron'; +import { + NativeImage, + Tray, +} from 'electron'; import * as path from 'path'; import { WindowMain } from 'jslib/electron/window.main'; @@ -7,13 +10,17 @@ import { DesktopConstants } from '../desktopConstants'; export class TrayMain { private tray: Tray; - private iconPath: string; + private icon: string | NativeImage; constructor(private windowMain: WindowMain, private appName: string, private minToTray: () => Promise) { if (process.platform === 'win32') { - this.iconPath = path.join(__dirname, '/images/icon.ico'); + this.icon = path.join(__dirname, '/images/icon.ico'); + } else if (process.platform === 'darwin') { + const nativeImage = NativeImage.createFromPath(path.join(__dirname, '/images/icon-template.png')); + nativeImage.setTemplateImage(true); + this.icon = nativeImage; } else { - this.iconPath = path.join(__dirname, '/images/icon.png'); + this.icon = path.join(__dirname, '/images/icon.png'); } } @@ -38,7 +45,7 @@ export class TrayMain { } private handleHideEvent() { - this.tray = new Tray(this.iconPath); + this.tray = new Tray(this.icon); this.tray.setToolTip(this.appName); this.tray.on('click', () => {