diff --git a/ElectronNET.API/Tray.cs b/ElectronNET.API/Tray.cs index 2781a1f..76705a4 100644 --- a/ElectronNET.API/Tray.cs +++ b/ElectronNET.API/Tray.cs @@ -263,6 +263,15 @@ namespace ElectronNET.API }); } + /// + /// Shows the Traybar (empty). + /// + /// The image. + public void Show(string image) + { + BridgeConnector.Socket.Emit("create-tray", image); + } + /// /// Destroys the tray icon immediately. /// diff --git a/ElectronNET.Host/api/tray.js b/ElectronNET.Host/api/tray.js index 6ed7e14..77b3030 100644 --- a/ElectronNET.Host/api/tray.js +++ b/ElectronNET.Host/api/tray.js @@ -47,13 +47,17 @@ module.exports = (socket) => { } }); socket.on('create-tray', (image, menuItems) => { - const menu = electron_1.Menu.buildFromTemplate(menuItems); - addMenuItemClickConnector(menu.items, (id) => { - electronSocket.emit('trayMenuItemClicked', id); - }); const trayIcon = electron_1.nativeImage.createFromPath(image); tray = new electron_1.Tray(trayIcon); - tray.setContextMenu(menu); + + if (menuItems) { + const menu = electron_1.Menu.buildFromTemplate(menuItems); + addMenuItemClickConnector(menu.items, (id) => { + electronSocket.emit('trayMenuItemClicked', id); + }); + + tray.setContextMenu(menu); + } }); socket.on('tray-destroy', () => { if (tray) { diff --git a/ElectronNET.Host/api/tray.ts b/ElectronNET.Host/api/tray.ts index e7e8ef5..3fa8d94 100644 --- a/ElectronNET.Host/api/tray.ts +++ b/ElectronNET.Host/api/tray.ts @@ -53,16 +53,18 @@ export = (socket: SocketIO.Socket) => { }); socket.on('create-tray', (image, menuItems) => { - const menu = Menu.buildFromTemplate(menuItems); - - addMenuItemClickConnector(menu.items, (id) => { - electronSocket.emit('trayMenuItemClicked', id); - }); - const trayIcon = nativeImage.createFromPath(image); tray = new Tray(trayIcon); - tray.setContextMenu(menu); + + if (menuItems) { + const menu = Menu.buildFromTemplate(menuItems); + + addMenuItemClickConnector(menu.items, (id) => { + electronSocket.emit('trayMenuItemClicked', id); + }); + tray.setContextMenu(menu); + } }); socket.on('tray-destroy', () => {