pointvec/desktop/main.js
2018-09-15 08:13:39 +12:00

81 lines
1.5 KiB
JavaScript

const {app, BrowserWindow, webFrame, Menu, dialog} = require('electron')
const path = require('path')
const url = require('url')
const shell = require('electron').shell
let is_shown = true;
app.on('ready', () =>
{
app.win = new BrowserWindow({
width: 405,
height: 420,
minWidth: 405,
minHeight: 420,
webPreferences: {zoomFactor: 1.0},
backgroundColor:"#000",
frame:false,
autoHideMenuBar: true,
icon: __dirname + '/icon.ico'
})
app.win.loadURL(`file://${__dirname}/sources/index.html`);
// app.inspect();
app.win.on('closed', () => {
win = null
app.quit()
})
app.win.on('hide',function() {
is_shown = false;
})
app.win.on('show',function() {
is_shown = true;
})
app.on('window-all-closed', () =>
{
app.quit()
})
app.on('activate', () => {
if (app.win === null) {
createWindow()
}
else{
app.win.show();
}
})
})
app.inspect = function()
{
app.win.toggleDevTools();
}
app.toggle_fullscreen = function()
{
app.win.setFullScreen(app.win.isFullScreen() ? false : true);
}
app.toggle_visible = function()
{
if(process.platform == "win32"){
if(!app.win.isMinimized()){ app.win.minimize(); } else{ app.win.restore(); }
}
else{
if(is_shown && !app.win.isFullScreen()){ app.win.hide(); } else{ app.win.show(); }
}
}
app.inject_menu = function(menu)
{
try{
Menu.setApplicationMenu(Menu.buildFromTemplate(menu));
}
catch(err){
console.warn("Cannot inject menu.")
}
}