52 lines
1.7 KiB
JavaScript
52 lines
1.7 KiB
JavaScript
"use strict";
|
|
const electron = require("electron");
|
|
const path = require("path");
|
|
const utils = require("@electron-toolkit/utils");
|
|
const hardware_monitor = require("./hardware_monitor.node");
|
|
const icon = path.join(__dirname, "../../resources/hardware_monitor/icon.png");
|
|
function handleQueryCpuName() {
|
|
return hardware_monitor.cpu_temperature();
|
|
}
|
|
function createWindow() {
|
|
const mainWindow = new electron.BrowserWindow({
|
|
width: 900,
|
|
height: 670,
|
|
show: false,
|
|
autoHideMenuBar: true,
|
|
...process.platform === "linux" ? { icon } : {},
|
|
webPreferences: {
|
|
preload: path.join(__dirname, "../preload/index.js"),
|
|
sandbox: false
|
|
}
|
|
});
|
|
mainWindow.on("ready-to-show", () => {
|
|
mainWindow.show();
|
|
});
|
|
mainWindow.webContents.setWindowOpenHandler((details) => {
|
|
electron.shell.openExternal(details.url);
|
|
return { action: "deny" };
|
|
});
|
|
if (utils.is.dev && process.env["ELECTRON_RENDERER_URL"]) {
|
|
mainWindow.loadURL(process.env["ELECTRON_RENDERER_URL"]);
|
|
} else {
|
|
mainWindow.loadFile(path.join(__dirname, "../renderer/index.html"));
|
|
}
|
|
}
|
|
electron.app.whenReady().then(() => {
|
|
electron.ipcMain.handle("queryCpuName", handleQueryCpuName);
|
|
utils.electronApp.setAppUserModelId("com.electron");
|
|
electron.app.on("browser-window-created", (_, window) => {
|
|
utils.optimizer.watchWindowShortcuts(window);
|
|
});
|
|
electron.ipcMain.on("ping", () => console.log("pong"));
|
|
createWindow();
|
|
electron.app.on("activate", function() {
|
|
if (electron.BrowserWindow.getAllWindows().length === 0) createWindow();
|
|
});
|
|
});
|
|
electron.app.on("window-all-closed", () => {
|
|
if (process.platform !== "darwin") {
|
|
electron.app.quit();
|
|
}
|
|
});
|