diff --git a/main.js b/main.js index 6d58c40..dc8132f 100644 --- a/main.js +++ b/main.js @@ -534,3 +534,17 @@ ipcMain.handle('get-about-info', () => { return { error: err.message }; } }); + +// Toggle DevTools for the requesting window (main window webContents) +ipcMain.handle('open-devtools', (event) => { + const wc = BrowserWindow.fromWebContents(event.sender); + if (!wc) return false; + const contents = wc.webContents; + if (contents.isDevToolsOpened()) { + contents.closeDevTools(); + } else { + // Open docked inside the main window (bottom). Other options: 'right', 'undocked', 'detach' + contents.openDevTools({ mode: 'bottom' }); + } + return contents.isDevToolsOpened(); +}); diff --git a/preload.js b/preload.js index 330a46c..70125c1 100644 --- a/preload.js +++ b/preload.js @@ -47,6 +47,14 @@ const electronAPI = { } catch (err) { console.error('IPC removeListener error:', err); } + }, + toggleDevTools: () => { + try { + return ipcRenderer.invoke('open-devtools'); + } catch (err) { + console.error('IPC open-devtools error:', err); + return Promise.reject(err); + } } }; diff --git a/renderer/index.html b/renderer/index.html index ea4a628..14190a4 100644 --- a/renderer/index.html +++ b/renderer/index.html @@ -46,6 +46,7 @@