mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-12-28 00:47:33 +01:00
bf1a2b56ba
I messed up the handlers reference in the last commit so the events were not properly attached. Changed it to use global variables for now.
57 lines
1.5 KiB
JavaScript
57 lines
1.5 KiB
JavaScript
/* eslint-disable @typescript-eslint/no-var-requires */
|
|
const { app, BrowserWindow, shell } = require("electron");
|
|
const log = require("electron-log");
|
|
const utils = require("./utils");
|
|
const achievements = require("./achievements");
|
|
const menu = require("./menu");
|
|
const api = require("./api-server");
|
|
|
|
const debug = process.argv.includes("--debug");
|
|
|
|
async function createWindow(killall) {
|
|
const setStopProcessHandler = global.app_handlers.stopProcess
|
|
const window = new BrowserWindow({
|
|
show: false,
|
|
backgroundThrottling: false,
|
|
backgroundColor: "#000000",
|
|
});
|
|
|
|
window.removeMenu();
|
|
window.maximize();
|
|
noScripts = killall ? { query: { noScripts: killall } } : {};
|
|
window.loadFile("index.html", noScripts);
|
|
window.show();
|
|
if (debug) window.webContents.openDevTools();
|
|
|
|
window.webContents.on("new-window", function (e, url) {
|
|
// make sure local urls stay in electron perimeter
|
|
if (url.substr(0, "file://".length) === "file://") {
|
|
return;
|
|
}
|
|
|
|
// and open every other protocols on the browser
|
|
e.preventDefault();
|
|
shell.openExternal(url);
|
|
});
|
|
window.webContents.backgroundThrottling = false;
|
|
|
|
achievements.enableAchievementsInterval(window);
|
|
utils.attachUnresponsiveAppHandler(window);
|
|
|
|
try {
|
|
await api.initialize(window);
|
|
} catch (error) {
|
|
log.error(error);
|
|
utils.showErrorBox('Error starting http server', error);
|
|
}
|
|
|
|
menu.refreshMenu(window);
|
|
setStopProcessHandler(app, window, true);
|
|
|
|
return window;
|
|
}
|
|
|
|
module.exports = {
|
|
createWindow,
|
|
}
|