diff --git a/server-console/resources/console-tray-osx-stopped.png b/server-console/resources/console-tray-osx-stopped.png new file mode 100644 index 0000000000..3255d43f60 Binary files /dev/null and b/server-console/resources/console-tray-osx-stopped.png differ diff --git a/server-console/resources/console-tray-osx-stopped@2x.png b/server-console/resources/console-tray-osx-stopped@2x.png new file mode 100644 index 0000000000..6a75dad5bf Binary files /dev/null and b/server-console/resources/console-tray-osx-stopped@2x.png differ diff --git a/server-console/resources/console-tray-osx-stopping.png b/server-console/resources/console-tray-osx-stopping.png new file mode 100644 index 0000000000..3255d43f60 Binary files /dev/null and b/server-console/resources/console-tray-osx-stopping.png differ diff --git a/server-console/resources/console-tray-osx-stopping@2x.png b/server-console/resources/console-tray-osx-stopping@2x.png new file mode 100644 index 0000000000..f8fb805350 Binary files /dev/null and b/server-console/resources/console-tray-osx-stopping@2x.png differ diff --git a/server-console/resources/console-tray-Template.png b/server-console/resources/console-tray-osx.png similarity index 100% rename from server-console/resources/console-tray-Template.png rename to server-console/resources/console-tray-osx.png diff --git a/server-console/resources/console-tray-Template@2x.png b/server-console/resources/console-tray-osx@2x.png similarity index 100% rename from server-console/resources/console-tray-Template@2x.png rename to server-console/resources/console-tray-osx@2x.png diff --git a/server-console/resources/console-tray-stopped.ico b/server-console/resources/console-tray-stopped.ico new file mode 100644 index 0000000000..8921a80297 Binary files /dev/null and b/server-console/resources/console-tray-stopped.ico differ diff --git a/server-console/resources/console-tray-win-stopped.png b/server-console/resources/console-tray-win-stopped.png new file mode 100644 index 0000000000..033ca3dfa4 Binary files /dev/null and b/server-console/resources/console-tray-win-stopped.png differ diff --git a/server-console/resources/console-tray-win-stopped@2x.png b/server-console/resources/console-tray-win-stopped@2x.png new file mode 100644 index 0000000000..e3d8de7aaa Binary files /dev/null and b/server-console/resources/console-tray-win-stopped@2x.png differ diff --git a/server-console/resources/console-tray-win-stopping.png b/server-console/resources/console-tray-win-stopping.png new file mode 100644 index 0000000000..860bddbd3e Binary files /dev/null and b/server-console/resources/console-tray-win-stopping.png differ diff --git a/server-console/resources/console-tray-win-stopping@2x.png b/server-console/resources/console-tray-win-stopping@2x.png new file mode 100644 index 0000000000..46e5e32f59 Binary files /dev/null and b/server-console/resources/console-tray-win-stopping@2x.png differ diff --git a/server-console/resources/console-tray.png b/server-console/resources/console-tray-win.png similarity index 100% rename from server-console/resources/console-tray.png rename to server-console/resources/console-tray-win.png diff --git a/server-console/resources/console-tray@2x.png b/server-console/resources/console-tray-win@2x.png similarity index 100% rename from server-console/resources/console-tray@2x.png rename to server-console/resources/console-tray-win@2x.png diff --git a/server-console/src/main.js b/server-console/src/main.js index d6cde89d09..e05106aa6f 100644 --- a/server-console/src/main.js +++ b/server-console/src/main.js @@ -3,6 +3,7 @@ const electron = require('electron'); const app = electron.app; // Module to control application life. const BrowserWindow = electron.BrowserWindow; +const nativeImage = electron.nativeImage; const notifier = require('node-notifier'); const util = require('util'); @@ -133,7 +134,7 @@ function shutdownCallback(idx) { homeServer.stop(); } - updateTrayMenu(null); + updateTrayMenu(homeServer.state); if (homeServer.state == ProcessGroupStates.STOPPED) { // if the home server is already down, take down the server console now @@ -593,7 +594,8 @@ function updateMenuArray(menuArray, serverState) { function updateTrayMenu(serverState) { if (tray) { - var menuArray = buildMenuArray(serverState); + var menuArray = buildMenuArray(isShuttingDown ? null : serverState); + tray.setImage(trayIcons[serverState]); tray.setContextMenu(Menu.buildFromTemplate(menuArray)); if (isShuttingDown) { tray.setToolTip('High Fidelity - Shutting Down'); @@ -730,8 +732,18 @@ function maybeShowSplash() { } } -const trayFilename = (osType == "Darwin" ? "console-tray-Template.png" : "console-tray.png"); -const trayIcon = path.join(__dirname, '../resources/' + trayFilename); +const trayIconOS = (osType == "Darwin") ? "osx" : "win"; +var trayIcons = {}; +trayIcons[ProcessGroupStates.STARTED] = "console-tray-" + trayIconOS + ".png"; +trayIcons[ProcessGroupStates.STOPPED] = "console-tray-" + trayIconOS + "-stopped.png"; +trayIcons[ProcessGroupStates.STOPPING] = "console-tray-" + trayIconOS + "-stopping.png"; +for (var key in trayIcons) { + var fullPath = path.join(__dirname, '../resources/' + trayIcons[key]); + var img = nativeImage.createFromPath(fullPath); + img.setTemplateImage(osType == 'Darwin'); + trayIcons[key] = img; +} + const notificationIcon = path.join(__dirname, '../resources/console-notification.png'); @@ -745,7 +757,7 @@ app.on('ready', function() { } // Create tray icon - tray = new Tray(trayIcon); + tray = new Tray(trayIcons[ProcessGroupStates.STOPPED]); tray.setToolTip('High Fidelity Server Console'); tray.on('click', function() {