summaryrefslogtreecommitdiff
path: root/src/main.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.ts')
-rw-r--r--src/main.ts78
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();
+});