From 86b1eee7421ba7df3bd4acdf1fe85f7748ab1fed Mon Sep 17 00:00:00 2001 From: Ramiro Saenz Date: Tue, 3 Oct 2017 12:44:56 -0300 Subject: [PATCH] Fixed bug on display/close behaviors Fixes #909 --- app/view/preferences/Preferences.js | 2 +- app/view/preferences/PreferencesController.js | 6 ++++++ electron/main.js | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/view/preferences/Preferences.js b/app/view/preferences/Preferences.js index 3eb40737..2d4c2c2d 100644 --- a/app/view/preferences/Preferences.js +++ b/app/view/preferences/Preferences.js @@ -176,7 +176,7 @@ Ext.define('Rambox.view.preferences.Preferences',{ fields: ['value', 'label'] ,data: [ { 'value': 'keep_in_tray', 'label': 'Keep in tray' } - ,{ 'value': 'keep_in_tray_and_taskbar', 'label': 'Keep in tray and taskbar' } + ,{ 'value': 'keep_in_tray_and_taskbar', 'label': 'Keep in tray and/or taskbar' } ,{ 'value': 'quit', 'label': 'Quit' } ] }) diff --git a/app/view/preferences/PreferencesController.js b/app/view/preferences/PreferencesController.js index 5d356718..d72d9bc9 100644 --- a/app/view/preferences/PreferencesController.js +++ b/app/view/preferences/PreferencesController.js @@ -39,6 +39,12 @@ Ext.define('Rambox.view.preferences.PreferencesController', { // Proxy if ( values.proxy && (Ext.isEmpty(values.proxyHost) || Ext.isEmpty(values.proxyPort)) ) return; + // Display behaviour + if ( values.window_display_behavior === 'show_taskbar' && values.window_close_behavior === 'keep_in_tray' ) { + Ext.Msg.alert('Action required', 'You need to change the window closing behaviour because "Keep in tray" is not possible.'); + return; + } + // Locale if ( values.locale !== ipc.sendSync('getConfig').locale ) { localStorage.setItem('locale', values.locale); diff --git a/electron/main.js b/electron/main.js index 5a12b003..61cc952b 100644 --- a/electron/main.js +++ b/electron/main.js @@ -162,6 +162,7 @@ function createWindow () { }); if ( !config.get('start_minimized') && config.get('maximized') ) mainWindow.maximize(); + if ( config.get('window_display_behavior') !== 'show_trayIcon' && config.get('start_minimized') ) mainWindow.minimize(); // Check if the window its outside of the view (ex: multi monitor setup) const { positionOnScreen } = require('./utils/positionOnScreen');