mirror of
https://github.com/dscalzi/HeliosLauncher.git
synced 2024-12-22 11:42:14 -08:00
04d869794f
This branch will likely never be merged into master, however it is intended to experiment with using React.js to power the backend. Due to complications, this will likely not be implemented in the initial release due to the complexity of the task.
67 lines
1.8 KiB
JavaScript
67 lines
1.8 KiB
JavaScript
const {app, BrowserWindow} = require('electron')
|
|
const path = require('path')
|
|
const url = require('url')
|
|
const fs = require('fs')
|
|
|
|
// Keep a global reference of the window object, if you don't, the window will
|
|
// be closed automatically when the JavaScript object is garbage collected.
|
|
let win
|
|
|
|
function createWindow() {
|
|
win = new BrowserWindow({
|
|
width: 980,
|
|
height: 552,
|
|
icon: getPlatformIcon('WesterosSealSquare'),
|
|
frame: false,
|
|
webPreferences: {
|
|
preload: path.join(__dirname, 'app', 'assets', 'js', 'preloader.js')
|
|
}
|
|
})
|
|
|
|
//ejse.data('bkid', Math.floor((Math.random() * fs.readdirSync(path.join(__dirname, 'app', 'assets', 'images', 'backgrounds')).length)))
|
|
|
|
win.loadURL(url.format({
|
|
pathname: path.join(__dirname, 'app', 'app.html'),
|
|
protocol: 'file:',
|
|
slashes: true
|
|
}))
|
|
|
|
win.setMenu(null)
|
|
|
|
win.setResizable(true)
|
|
|
|
win.on('closed', () => {
|
|
win = null
|
|
})
|
|
}
|
|
|
|
function getPlatformIcon(filename){
|
|
const opSys = process.platform
|
|
if (opSys === 'darwin') {
|
|
filename = filename + '.icns'
|
|
} else if (opSys === 'win32') {
|
|
filename = filename + '.ico'
|
|
} else {
|
|
filename = filename + '.png'
|
|
}
|
|
|
|
return path.join(__dirname, 'app', 'assets', 'images', filename)
|
|
}
|
|
|
|
app.on('ready', createWindow);
|
|
|
|
app.on('window-all-closed', () => {
|
|
// On macOS it is common for applications and their menu bar
|
|
// to stay active until the user quits explicitly with Cmd + Q
|
|
if (process.platform !== 'darwin') {
|
|
app.quit()
|
|
}
|
|
})
|
|
|
|
app.on('activate', () => {
|
|
// On macOS it's common to re-create a window in the app when the
|
|
// dock icon is clicked and there are no other windows open.
|
|
if (win === null) {
|
|
createWindow()
|
|
}
|
|
}) |