diff --git a/app/Application.js b/app/Application.js index 2edde25f..525758b7 100644 --- a/app/Application.js +++ b/app/Application.js @@ -198,6 +198,7 @@ Ext.define('Rambox.Application', { // Define default value if ( localStorage.getItem('dontDisturb') === null ) localStorage.setItem('dontDisturb', false); + ipc.send('setDontDisturb', localStorage.getItem('dontDisturb')); // We store it in config if ( localStorage.getItem('locked') ) { console.info('Lock Rambox:', 'Enabled'); diff --git a/app/view/main/MainController.js b/app/view/main/MainController.js index 5e9b9a50..bd7bea09 100644 --- a/app/view/main/MainController.js +++ b/app/view/main/MainController.js @@ -237,6 +237,8 @@ Ext.define('Rambox.view.main.MainController', { localStorage.setItem('dontDisturb', btn.pressed); + ipc.send('setDontDisturb', btn.pressed); + btn.setText(locale['app.main[16]']+': ' + ( btn.pressed ? locale['app.window[20]'] : locale['app.window[21]'] )); // If this method is called from Lock method, prevent showing toast diff --git a/electron/main.js b/electron/main.js index 92fc37fc..18bd7fc9 100644 --- a/electron/main.js +++ b/electron/main.js @@ -26,6 +26,7 @@ const config = new Config({ ,start_minimized: false ,systemtray_indicator: true ,master_password: false + ,dont_disturb: false ,disable_gpu: process.platform === 'linux' ,proxy: false ,proxyHost: '' @@ -275,7 +276,7 @@ function updateBadge(title) { app.setBadgeCount(messageCount); } - if ( messageCount > 0 && !mainWindow.isFocused() ) mainWindow.flashFrame(true); + if ( messageCount > 0 && !mainWindow.isFocused() && !config.get('dont_disturb') ) mainWindow.flashFrame(true); } ipcMain.on('setBadge', function(event, messageCount, value) { @@ -335,6 +336,10 @@ ipcMain.on('setServiceNotifications', function(event, partition, op) { }); }); +ipcMain.on('setDontDisturb', function(event, arg) { + config.set('dont_disturb', arg); +}) + // Reload app ipcMain.on('reloadApp', function(event) { mainWindow.reload();