From 0fcff6639fdff275b46ccdcab68a1064f9cf5da3 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 16 Sep 2025 18:26:41 +0300 Subject: [PATCH] refactor(desktop): use shorter imports --- apps/desktop/src/main.ts | 36 +++++++++++++++++------------------- 1 file changed, 17 insertions(+), 19 deletions(-) diff --git a/apps/desktop/src/main.ts b/apps/desktop/src/main.ts index 8e2d63c88..42156a499 100644 --- a/apps/desktop/src/main.ts +++ b/apps/desktop/src/main.ts @@ -1,7 +1,7 @@ import { initializeTranslations } from "@triliumnext/server/src/services/i18n.js"; import { t } from "i18next"; -import electron from "electron"; +import { app, globalShortcut, BrowserWindow } from "electron"; import sqlInit from "@triliumnext/server/src/services/sql_init.js"; import windowService from "@triliumnext/server/src/services/window.js"; import tray from "@triliumnext/server/src/services/tray.js"; @@ -24,48 +24,46 @@ async function main() { electronDl({ saveAs: true }); // needed for excalidraw export https://github.com/zadam/trilium/issues/4271 - electron.app.commandLine.appendSwitch("enable-experimental-web-platform-features"); - electron.app.commandLine.appendSwitch("lang", options.getOptionOrNull("formattingLocale") ?? "en"); + app.commandLine.appendSwitch("enable-experimental-web-platform-features"); + app.commandLine.appendSwitch("lang", options.getOptionOrNull("formattingLocale") ?? "en"); // Disable smooth scroll if the option is set const smoothScrollEnabled = options.getOptionOrNull("smoothScrollEnabled"); if (smoothScrollEnabled === "false") { - electron.app.commandLine.appendSwitch("disable-smooth-scrolling"); + app.commandLine.appendSwitch("disable-smooth-scrolling"); } // Electron 36 crashes with "Using GTK 2/3 and GTK 4 in the same process is not supported" on some distributions. // See https://github.com/electron/electron/issues/46538 for more info. if (process.platform === "linux") { - electron.app.setName(PRODUCT_NAME); - electron.app.commandLine.appendSwitch("gtk-version", "3"); + app.setName(PRODUCT_NAME); + app.commandLine.appendSwitch("gtk-version", "3"); } // Quit when all windows are closed, except on macOS. There, it's common // for applications and their menu bar to stay active until the user quits // explicitly with Cmd + Q. - electron.app.on("window-all-closed", () => { + app.on("window-all-closed", () => { if (process.platform !== "darwin") { - electron.app.quit(); + app.quit(); } }); - electron.app.on("ready", async () => { + app.on("ready", async () => { await serverInitializedPromise; console.log("Starting Electron..."); await onReady(); }); - electron.app.on("will-quit", () => { - electron.globalShortcut.unregisterAll(); + app.on("will-quit", () => { + globalShortcut.unregisterAll(); }); - electron.app.on("second-instance", (event, commandLine) => { + app.on("second-instance", (event, commandLine) => { const lastFocusedWindow = windowService.getLastFocusedWindow(); if (commandLine.includes("--new-window")) { windowService.createExtraWindow(""); } else if (lastFocusedWindow) { - // Someone tried to run a second instance, we should focus our window. - // see www.ts "requestSingleInstanceLock" for the rest of this logic with explanation if (lastFocusedWindow.isMinimized()) { lastFocusedWindow.restore(); } @@ -92,19 +90,19 @@ async function main() { } async function onReady() { - // electron.app.setAppUserModelId('com.github.zadam.trilium'); + // app.setAppUserModelId('com.github.zadam.trilium'); // if db is not initialized -> setup process // if db is initialized, then we need to wait until the migration process is finished if (sqlInit.isDbInitialized()) { await sqlInit.dbReady; - await windowService.createMainWindow(electron.app); + await windowService.createMainWindow(app); if (process.platform === "darwin") { - electron.app.on("activate", async () => { - if (electron.BrowserWindow.getAllWindows().length === 0) { - await windowService.createMainWindow(electron.app); + app.on("activate", async () => { + if (BrowserWindow.getAllWindows().length === 0) { + await windowService.createMainWindow(app); } }); }