diff --git a/electron_app/src/electron-main.js b/electron_app/src/electron-main.js index f21fe1c01a..a5708164a2 100644 --- a/electron_app/src/electron-main.js +++ b/electron_app/src/electron-main.js @@ -119,19 +119,19 @@ electron.ipcMain.on('install_update', installUpdate); let focusHandlerAttached = false; electron.ipcMain.on('setBadgeCount', function(ev, count) { electron.app.setBadgeCount(count); - if (process.platform === 'win32' && mainWindow && !mainWindow.isFocused()) { - if (count > 0) { - if (!focusHandlerAttached) { - mainWindow.once('focus', () => { - mainWindow.flashFrame(false); - focusHandlerAttached = false; - }); - focusHandlerAttached = true; - } - mainWindow.flashFrame(true); - } else { + if (count === 0) { + mainWindow.flashFrame(false); + } +}); + +electron.ipcMain.on('loudNotification', function() { + if (process.platform === 'win32' && mainWindow && !mainWindow.isFocused() && !focusHandlerAttached) { + mainWindow.flashFrame(true); + mainWindow.once('focus', () => { mainWindow.flashFrame(false); - } + focusHandlerAttached = false; + }); + focusHandlerAttached = true; } }); diff --git a/src/vector/platform/ElectronPlatform.js b/src/vector/platform/ElectronPlatform.js index 06ea21367b..7cfe36eff9 100644 --- a/src/vector/platform/ElectronPlatform.js +++ b/src/vector/platform/ElectronPlatform.js @@ -124,6 +124,10 @@ export default class ElectronPlatform extends VectorBasePlatform { return notification; } + loudNotification(ev: Event, room: Object) { + ipcRenderer.send('loudNotification'); + } + clearNotification(notif: Notification) { notif.close(); }