mirror of
https://github.com/jeffvli/feishin.git
synced 2026-05-14 04:20:07 +02:00
72 lines
1.8 KiB
TypeScript
72 lines
1.8 KiB
TypeScript
import { app, ipcMain } from 'electron';
|
|
import './security-restrictions';
|
|
import { restoreOrCreateWindow } from '/@/mainWindow';
|
|
|
|
ipcMain.on('app-restart', () => {
|
|
app.relaunch();
|
|
app.exit(0);
|
|
});
|
|
|
|
/**
|
|
* Prevent electron from running multiple instances.
|
|
*/
|
|
const isSingleInstance = app.requestSingleInstanceLock();
|
|
if (!isSingleInstance) {
|
|
app.quit();
|
|
process.exit(0);
|
|
}
|
|
app.on('second-instance', restoreOrCreateWindow);
|
|
|
|
/**
|
|
* Disable Hardware Acceleration to save more system resources.
|
|
*/
|
|
app.disableHardwareAcceleration();
|
|
|
|
/**
|
|
* Shout down background process if all windows was closed
|
|
*/
|
|
app.on('window-all-closed', () => {
|
|
if (process.platform !== 'darwin') {
|
|
app.quit();
|
|
}
|
|
});
|
|
|
|
/**
|
|
* @see https://www.electronjs.org/docs/latest/api/app#event-activate-macos Event: 'activate'.
|
|
*/
|
|
app.on('activate', restoreOrCreateWindow);
|
|
|
|
/**
|
|
* Create the application window when the background process is ready.
|
|
*/
|
|
app
|
|
.whenReady()
|
|
.then(restoreOrCreateWindow)
|
|
.catch((e) => console.error('Failed create window:', e));
|
|
|
|
/**
|
|
* Install Vue.js or any other extension in development mode only.
|
|
* Note: You must install `electron-devtools-installer` manually
|
|
*/
|
|
// if (import.meta.env.DEV) {
|
|
// app.whenReady()
|
|
// .then(() => import('electron-devtools-installer'))
|
|
// .then(({default: installExtension, VUEJS3_DEVTOOLS}) => installExtension(VUEJS3_DEVTOOLS, {
|
|
// loadExtensionOptions: {
|
|
// allowFileAccess: true,
|
|
// },
|
|
// }))
|
|
// .catch(e => console.error('Failed install extension:', e));
|
|
// }
|
|
|
|
/**
|
|
* Check for new version of the application - production mode only.
|
|
*/
|
|
if (import.meta.env.PROD) {
|
|
app
|
|
.whenReady()
|
|
.then(() => import('electron-updater'))
|
|
.then(({ autoUpdater }) => autoUpdater.checkForUpdatesAndNotify())
|
|
.catch((e) => console.error('Failed check updates:', e));
|
|
}
|