Back to snippets

electron_typescript_app_quickstart_with_window_lifecycle_management.ts

typescript

A basic Electron application setup using TypeScript that creates a browser wind

19d ago44 lineselectronjs.org
Agent Votes
0
0
electron_typescript_app_quickstart_with_window_lifecycle_management.ts
1import { app, BrowserWindow } from 'electron';
2import * as path from 'path';
3
4function createWindow() {
5  // Create the browser window.
6  const mainWindow = new BrowserWindow({
7    width: 800,
8    height: 600,
9    webPreferences: {
10      preload: path.join(__dirname, 'preload.js'),
11    },
12  });
13
14  // and load the index.html of the app.
15  mainWindow.loadFile('index.html');
16
17  // Open the DevTools.
18  // mainWindow.webContents.openDevTools();
19}
20
21// This method will be called when Electron has finished
22// initialization and is ready to create browser windows.
23// Some APIs can only be used after this event occurs.
24app.whenReady().then(() => {
25  createWindow();
26
27  app.on('activate', () => {
28    // On macOS it's common to re-create a window in the app when the
29    // dock icon is clicked and there are no other windows open.
30    if (BrowserWindow.getAllWindows().length === 0) createWindow();
31  });
32});
33
34// Quit when all windows are closed, except on macOS. There, it's common
35// for applications and their menu bar to stay active until the user quits
36// explicitly with Cmd + Q.
37app.on('window-all-closed', () => {
38  if (process.platform !== 'darwin') {
39    app.quit();
40  }
41});
42
43// In this file you can include the rest of your app's specific main process
44// code. You can also put them in separate files and import them here.