diff options
Diffstat (limited to 'src/main.ts')
-rw-r--r-- | src/main.ts | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/src/main.ts b/src/main.ts new file mode 100644 index 0000000..947a448 --- /dev/null +++ b/src/main.ts @@ -0,0 +1,78 @@ +import { app, BrowserWindow, ipcMain, remote } from 'electron'; + +// 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 mainWindow: BrowserWindow; +const isSecondInstance = app.makeSingleInstance(() => { + // Someone tried to run a second instance, we should focus our window. + if (mainWindow) { + if (mainWindow.isMinimized()) mainWindow.restore() + mainWindow.focus() + } + }) + +if (isSecondInstance) { + app.quit(); +} +const createWindow = () => { + // Create the browser window. + mainWindow = new BrowserWindow({ + width: 1300, + height: 600, + minHeight: 475, + minWidth: 650, + frame: false + }); + + // and load the index.html of the app. + mainWindow.loadURL(`file://${__dirname}/../assets/index.html`); + + // Open the DevTools. + mainWindow.webContents.openDevTools(); + + //mainWindow.setProgressBar(0.5); + + // Emitted when the window is closed. + mainWindow.on('closed', () => { + // Dereference the window object, usually you would store windows + // in an array if your app supports multi windows, this is the time + // when you should delete the corresponding element. + mainWindow = null; + }); +}; + +// This method will be called when Electron has finished +// initialization and is ready to create browser windows. +// Some APIs can only be used after this event occurs. +app.on('ready', createWindow); + +// Quit when all windows are closed. +app.on('window-all-closed', () => { + // On OS X 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 OS X 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 (mainWindow === null) { + createWindow(); + } +}); + +ipcMain.on('quit', (event:any, arg:any)=> { + app.quit(); +}); + +ipcMain.on('minimize', (event:any, arg:any)=> { + mainWindow.minimize(); +}); + +//import {quit as drpcQuit} from './main/richpresence'; + +app.on('quit', () => { + //drpcQuit(); +}); |