From 0744a8542167edc05e9acc6d0b7a5444bc2f734c Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Thu, 19 Jun 2025 15:34:09 +0300 Subject: [PATCH] feat(flake): handle StartupWMClass --- apps/desktop/electron-forge/forge.config.cjs | 2 +- apps/desktop/src/app-info.ts | 4 ++++ apps/desktop/src/electron-main.ts | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 apps/desktop/src/app-info.ts diff --git a/apps/desktop/electron-forge/forge.config.cjs b/apps/desktop/electron-forge/forge.config.cjs index 40f9f3431..cfe4fccf2 100644 --- a/apps/desktop/electron-forge/forge.config.cjs +++ b/apps/desktop/electron-forge/forge.config.cjs @@ -5,7 +5,7 @@ const { LOCALES } = require("@triliumnext/commons"); const ELECTRON_FORGE_DIR = __dirname; const EXECUTABLE_NAME = "trilium"; // keep in sync with server's package.json -> packagerConfig.executableName -const PRODUCT_NAME = "TriliumNext Notes"; +const { PRODUCT_NAME } = require("../src/app-info.js"); const APP_ICON_PATH = path.join(ELECTRON_FORGE_DIR, "app-icon"); const extraResourcesForPlatform = getExtraResourcesForPlatform(); diff --git a/apps/desktop/src/app-info.ts b/apps/desktop/src/app-info.ts new file mode 100644 index 000000000..9ec58a444 --- /dev/null +++ b/apps/desktop/src/app-info.ts @@ -0,0 +1,4 @@ +/** + * The Electron product name (can be used for the window WMClass or passed down to the Electron packager). + */ +export const PRODUCT_NAME = "TriliumNext Notes"; diff --git a/apps/desktop/src/electron-main.ts b/apps/desktop/src/electron-main.ts index 3decb970d..d1af78e5a 100644 --- a/apps/desktop/src/electron-main.ts +++ b/apps/desktop/src/electron-main.ts @@ -8,6 +8,7 @@ import options from "@triliumnext/server/src/services/options.js"; import electronDebug from "electron-debug"; import electronDl from "electron-dl"; import { deferred } from "@triliumnext/server/src/services/utils.js"; +import { PRODUCT_NAME } from "./app-info"; async function main() { const serverInitializedPromise = deferred(); @@ -28,6 +29,7 @@ async function main() { // 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"); }