From 2c20a1694134cced1f193173b2ed9d7c88d61938 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Loi=CC=88c=20Correnson?= <loic.correnson@cea.fr> Date: Thu, 24 Feb 2022 16:04:38 +0100 Subject: [PATCH] [dome] initialize theme wrt global settings --- ivette/src/dome/main/dome.ts | 14 ++++++++++++-- ivette/src/renderer/index.js | 4 ---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ivette/src/dome/main/dome.ts b/ivette/src/dome/main/dome.ts index f58edbeca4e..e735470e986 100644 --- a/ivette/src/dome/main/dome.ts +++ b/ivette/src/dome/main/dome.ts @@ -199,6 +199,11 @@ function windowSyncSettings(event: IpcMainEvent) { ipcMain.on('dome.ipc.settings.sync', windowSyncSettings); +function applyThemeSettings(settings: Store) { + const theme = settings['dome-color-theme']; + if (typeof (theme) === 'string') setNativeTheme(theme); +} + // -------------------------------------------------------------------------- // --- Patching Settings // -------------------------------------------------------------------------- @@ -234,8 +239,7 @@ function applyStorageSettings(event: IpcMainEvent, args: Patch[]) { function applyGlobalSettings(event: IpcMainEvent, args: Patch[]) { const settings: Store = obtainGlobalSettings(); applyPatches(settings, args); - const theme = settings['dome-color-theme']; - if (typeof (theme) === 'string') setNativeTheme(theme); + applyThemeSettings(settings); BrowserWindow.getAllWindows().forEach((w: BrowserWindow) => { const contents = w.webContents; if (contents.id !== event.sender.id) { @@ -477,6 +481,12 @@ function createPrimaryWindow() { const cwd = process.cwd(); const wdir = cwd === '/' ? app.getPath('home') : cwd; const argv = stripElectronArgv(process.argv); + + // Initialize Theme + const globals = obtainGlobalSettings(); + applyThemeSettings(globals); + + // Create Window createBrowserWindow({ title: appName }, argv, wdir); } diff --git a/ivette/src/renderer/index.js b/ivette/src/renderer/index.js index 1ad7bfec482..b7fa5b20332 100644 --- a/ivette/src/renderer/index.js +++ b/ivette/src/renderer/index.js @@ -40,7 +40,6 @@ // Enable live-editing in React: import 'react-hot-loader/patch' ; import React from 'react' ; -import { ipcRenderer } from 'electron'; import { setApplicationWindow, setPreferencesWindow, @@ -59,9 +58,6 @@ import Preferences from './Preferences' ; // Define the application main components for each window: setApplicationWindow(Application); setPreferencesWindow(Preferences); -ipcRenderer.send('dome.ipc.settings.window', []); -ipcRenderer.send('dome.ipc.settings.global', []); -ipcRenderer.send('dome.ipc.settings.storage', []); // Mark the main application reloadable and enable live updates: module.hot && isApplicationWindow() && -- GitLab