build: fix electron build gain focus on reloading in dev (#2088)

This commit is contained in:
Peng Xiao
2023-04-23 14:42:52 +08:00
committed by GitHub
parent 33261558f6
commit be9095ec19
5 changed files with 47 additions and 37 deletions

View File

@@ -8,6 +8,7 @@ import { isMacOS } from '../../utils';
const IS_DEV = process.env.NODE_ENV === 'development';
async function createWindow() {
logger.info('create window');
const mainWindowState = electronWindowState({
defaultWidth: 1000,
defaultHeight: 800,
@@ -46,7 +47,14 @@ async function createWindow() {
* @see https://github.com/electron/electron/issues/25012
*/
browserWindow.on('ready-to-show', () => {
browserWindow.show();
if (IS_DEV) {
// do not gain focus in dev mode
browserWindow.showInactive();
} else {
browserWindow.show();
}
logger.info('main window is ready to show');
if (IS_DEV) {
browserWindow.webContents.openDevTools();
@@ -62,13 +70,12 @@ async function createWindow() {
/**
* URL for main window.
*/
const pageUrl =
IS_DEV && process.env.DEV_SERVER_URL !== undefined
? process.env.DEV_SERVER_URL
: 'file://./index.html'; // see protocol.ts
const pageUrl = process.env.DEV_SERVER_URL || 'file://./index.html'; // see protocol.ts
await browserWindow.loadURL(pageUrl);
logger.info('main window is loaded at' + pageUrl);
return browserWindow;
}
@@ -86,9 +93,8 @@ export async function restoreOrCreateWindow() {
if (browserWindow.isMinimized()) {
browserWindow.restore();
logger.info('restore main window');
}
logger.info('Create main window');
return browserWindow;
}