diff --git a/app/electron/main.js b/app/electron/main.js index 5383f35bd..dbd6cd951 100644 --- a/app/electron/main.js +++ b/app/electron/main.js @@ -358,13 +358,13 @@ const boot = () => { // 当前页面链接使用浏览器打开 currentWindow.webContents.on("will-navigate", (event, url) => { if (event.sender) { - const currentURL = new URL(event.sender.getURL()); - if (url.startsWith(getServer(currentURL.port))) { - return; - } + const currentURL = new URL(event.sender.getURL()); + if (url.startsWith(getServer(currentURL.port))) { + return; + } - event.preventDefault(); - shell.openExternal(url); + event.preventDefault(); + shell.openExternal(url); } }); @@ -793,6 +793,9 @@ app.whenReady().then(() => { item.webContents.send("siyuan-send_windows", data); }); }); + ipcMain.on("siyuan-auto-launch", (event, data) => { + app.setLoginItemSettings({openAtLogin: data.openAtLogin}); + }); if (firstOpen) { const firstOpenWindow = new BrowserWindow({ diff --git a/app/src/config/about.ts b/app/src/config/about.ts index 58fa9833a..65b135ab4 100644 --- a/app/src/config/about.ts +++ b/app/src/config/about.ts @@ -1,6 +1,6 @@ import {Constants} from "../constants"; /// #if !BROWSER -import {app, shell} from "electron"; +import {ipcRenderer, shell} from "electron"; /// #endif import {isBrowser} from "../util/functions"; import {fetchPost} from "../util/fetch"; @@ -11,7 +11,7 @@ import {openByMobile, writeText} from "../protyle/util/compatibility"; import {showMessage} from "../dialog/message"; import {Dialog} from "../dialog"; import {confirmDialog} from "../dialog/confirmDialog"; -import { setProxy } from "./util/setProxy"; +import {setProxy} from "./util/setProxy"; export const about = { element: undefined as Element, @@ -338,7 +338,7 @@ export const about = { autoLaunchElement.addEventListener("change", () => { fetchPost("/api/system/setAutoLaunch", {autoLaunch: autoLaunchElement.checked}, () => { window.siyuan.config.system.autoLaunch = autoLaunchElement.checked; - app.setLoginItemSettings({openAtLogin: autoLaunchElement.checked}); + ipcRenderer.send(Constants.SIYUAN_AUTO_LAUNCH, {openAtLogin: autoLaunchElement.checked}); }); }); /// #endif diff --git a/app/src/constants.ts b/app/src/constants.ts index cd2fc43b6..d539d67f7 100644 --- a/app/src/constants.ts +++ b/app/src/constants.ts @@ -36,6 +36,7 @@ export abstract class Constants { public static readonly SIYUAN_EXPORT_PDF: string = "siyuan-export-pdf"; public static readonly SIYUAN_EXPORT_CLOSE: string = "siyuan-export-close"; public static readonly SIYUAN_EXPORT_PREVENT: string = "siyuan-export-prevent"; + public static readonly SIYUAN_AUTO_LAUNCH: string = "siyuan-auto-launch"; // size public static readonly SIZE_TOOLBAR_HEIGHT: number = isMobile() ? 0 : 32;