From 2343c6c10058c597319f43fa49d5bd838a42c234 Mon Sep 17 00:00:00 2001 From: Kilian Valkhof Date: Mon, 21 Aug 2023 10:10:45 +0200 Subject: [PATCH 1/4] Check for app.dock being available --- src/main/main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/main.ts b/src/main/main.ts index b270a38..2ae2a5d 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -195,7 +195,7 @@ const createWindow = async () => { const nativeImage = require('electron').nativeImage; const dockIcon = nativeImage.createFromPath(getAssetPath('icon.png')); - app.dock.setIcon(dockIcon); // todo: if electronStore preferences say to hide icon, hide icon with app.dock.setMenu(Menu.buildFromTemplate([])); maybe https://stackoverflow.com/questions/59668664/how-to-avoid-showing-a-dock-icon-while-my-electron-app-is-launching-on-macos + app.dock?.setIcon(dockIcon); // todo: if electronStore preferences say to hide icon, hide icon with app.dock.setMenu(Menu.buildFromTemplate([])); maybe https://stackoverflow.com/questions/59668664/how-to-avoid-showing-a-dock-icon-while-my-electron-app-is-launching-on-macos app.name = 'God Mode'; mainWindow.loadURL(resolveHtmlPath('index.html')); From 53544a1dcef9f714b9de4aaba39e6b6ade6ea2d8 Mon Sep 17 00:00:00 2001 From: Kilian Valkhof Date: Mon, 21 Aug 2023 10:49:36 +0200 Subject: [PATCH 2/4] extract preload setting from browserwindow call --- src/main/main.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/main.ts b/src/main/main.ts index 2ae2a5d..84ccb5c 100644 --- a/src/main/main.ts +++ b/src/main/main.ts @@ -175,6 +175,10 @@ const createWindow = async () => { let { width, height } = screen.getPrimaryDisplay().workAreaSize; + const preload = app.isPackaged + ? path.join(__dirname, 'preload.js') + : path.join(__dirname, '../../scripts/dll/preload.js'); + mainWindow = new BrowserWindow({ show: false, // frame: false, @@ -186,9 +190,7 @@ const createWindow = async () => { webPreferences: { webviewTag: true, nodeIntegration: true, - preload: app.isPackaged - ? path.join(__dirname, 'preload.js') - : path.join(__dirname, '../../scripts/dll/preload.js'), + preload, }, }); From 87092a664b7c761e78c78b36c45bbc735b92179b Mon Sep 17 00:00:00 2001 From: Kilian Valkhof Date: Mon, 21 Aug 2023 11:13:12 +0200 Subject: [PATCH 3/4] add platform-specific commands and config linux AppImage --- package.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 5051c6f..1f194c8 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,9 @@ "postinstall": "ts-node scripts/scripts/check-native-dep.js && electron-builder install-app-deps && cross-env NODE_ENV=development TS_NODE_TRANSPILE_ONLY=true webpack --config ./scripts/configs/webpack.config.renderer.dev.dll.ts", "lint": "cross-env NODE_ENV=development eslint . --ext .js,.jsx,.ts,.tsx", "package": "ts-node ./scripts/scripts/clean.js dist && npm run build && electron-builder build --publish never", + "package-mac": "ts-node ./scripts/scripts/clean.js dist && npm run build && electron-builder build --mac --publish never", + "package-lin": "ts-node ./scripts/scripts/clean.js dist && npm run build && electron-builder build --linux --publish never", + "package-win": "ts-node ./scripts/scripts/clean.js dist && npm run build && electron-builder build --win --x64 --publish never", "rebuild": "electron-rebuild --parallel --types prod,dev,optional --module-dir release/app", "start": "ts-node ./scripts/scripts/check-port-in-use.js && npm run start:renderer", "start:main": "cross-env NODE_ENV=development electronmon -r ts-node/register/transpile-only .", @@ -171,7 +174,10 @@ }, "linux": { "target": [ - "AppImage" + { + "target": "AppImage", + "arch": ["x64", "arm64"] + } ], "category": "Development" }, From c0eb4aee87be8820e0f64df89781dde6b9fcd3e4 Mon Sep 17 00:00:00 2001 From: Kilian Valkhof Date: Mon, 21 Aug 2023 11:16:05 +0200 Subject: [PATCH 4/4] configure universal builds for mac and windows --- package.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 1f194c8..d85b25d 100644 --- a/package.json +++ b/package.json @@ -144,9 +144,11 @@ "target": "default", "arch": [ "arm64", + "'universal", "x64" ] }, + "category": "public.app-category.developer-tools", "type": "distribution", "hardenedRuntime": true, "entitlements": "assets/entitlements.mac.plist", @@ -169,7 +171,10 @@ }, "win": { "target": [ - "nsis" + { + "target": "nsis", + "arch": ["x64", "arm64"] + } ] }, "linux": {