production-taskbar-client / src / main / utils / openDevToolsWindow.js
openDevToolsWindow.js
Raw
import { BrowserWindow } from "electron";

export default function openDevToolsWindow({
  window,
  title = "Developer Tools",
}) {
  if (window.webContents.devToolsWebContents) {
    const existedDevToolsWindow = BrowserWindow.fromWebContents(
      window.webContents.devToolsWebContents
    );
    existedDevToolsWindow.focus();
    return existedDevToolsWindow;
  }
  let devToolsWindow = new BrowserWindow();
  devToolsWindow.setMenu(null);

  devToolsWindow.once("ready-to-show", () => {
    devToolsWindow.setTitle(title ? `Devtools - ${title}` : `Developer Tools`);
  });
  devToolsWindow.on("closed", () => {
    devToolsWindow = null;
  });

  window.webContents.setDevToolsWebContents(devToolsWindow.webContents);
  window.webContents.openDevTools({ mode: "detach" });

  return devToolsWindow;
}