From 8548e96e01af3d0d4bb00a46c5cb08c9f7b31a3a Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Tue, 6 Feb 2024 16:49:13 +0100 Subject: [PATCH] Electron: Allow to open DevTools from context menu (#4206) --- src/electron/main.ts | 3 ++- src/electron/utils.ts | 1 + src/electron/window.ts | 9 +++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/electron/main.ts b/src/electron/main.ts index 51e446123..24ff2cac7 100644 --- a/src/electron/main.ts +++ b/src/electron/main.ts @@ -5,7 +5,7 @@ import contextMenu from 'electron-context-menu'; import path from 'path'; import { initDeeplink } from './deeplink'; -import { IS_MAC_OS, IS_WINDOWS } from './utils'; +import { IS_MAC_OS, IS_PRODUCTION, IS_WINDOWS } from './utils'; import { createWindow, setupCloseHandlers, setupElectronActionHandlers } from './window'; initDeeplink(); @@ -16,6 +16,7 @@ contextMenu({ showSearchWithGoogle: false, showCopyImage: false, showSelectAll: true, + showInspectElement: !IS_PRODUCTION, }); app.on('ready', () => { diff --git a/src/electron/utils.ts b/src/electron/utils.ts index 1cb0705b5..d97b5900b 100644 --- a/src/electron/utils.ts +++ b/src/electron/utils.ts @@ -14,6 +14,7 @@ export const IS_WINDOWS = process.platform === 'win32'; export const IS_LINUX = process.platform === 'linux'; export const IS_PREVIEW = process.env.IS_PREVIEW === 'true'; export const IS_FIRST_RUN = !fs.existsSync(`${app.getPath('userData')}/config.json`); +export const IS_PRODUCTION = process.env.APP_ENV === 'production'; export const windows = new Set(); export const store: Store = new Store(); diff --git a/src/electron/window.ts b/src/electron/window.ts index e0ac186e5..5a818ed0f 100644 --- a/src/electron/window.ts +++ b/src/electron/window.ts @@ -12,8 +12,9 @@ import { processDeeplink } from './deeplink'; import { captureLocalStorage, restoreLocalStorage } from './localStorage'; import tray from './tray'; import { - checkIsWebContentsUrlAllowed, forceQuit, getAppTitle, getCurrentWindow, getLastWindow, hasExtraWindows, - IS_FIRST_RUN, IS_MAC_OS, IS_PREVIEW, IS_WINDOWS, reloadWindows, store, TRAFFIC_LIGHT_POSITION, windows, + checkIsWebContentsUrlAllowed, forceQuit, getAppTitle, getCurrentWindow, getLastWindow, + hasExtraWindows, IS_FIRST_RUN, IS_MAC_OS, IS_PREVIEW, IS_PRODUCTION, IS_WINDOWS, + reloadWindows, store, TRAFFIC_LIGHT_POSITION, windows, } from './utils'; import windowStateKeeper from './windowState'; @@ -61,7 +62,7 @@ export function createWindow(url?: string) { title: getAppTitle(), webPreferences: { preload: path.join(__dirname, 'preload.js'), - devTools: process.env.APP_ENV !== 'production', + devTools: !IS_PRODUCTION, }, ...(IS_MAC_OS && { titleBarStyle: 'hidden', @@ -127,7 +128,7 @@ export function createWindow(url?: string) { window.webContents.once('dom-ready', async () => { processDeeplink(); - if (process.env.APP_ENV === 'production') { + if (IS_PRODUCTION) { setupAutoUpdates(windowState); }