diff --git a/app/electron/main.js b/app/electron/main.js index 68452d5fc..1268e2b21 100644 --- a/app/electron/main.js +++ b/app/electron/main.js @@ -705,17 +705,26 @@ app.whenReady().then(() => { let webContentsId = event.sender.id if (typeof data !== "string") { cmd = data.cmd; - webContentsId = data.webContentsId + if (data.webContentsId) { + webContentsId = data.webContentsId + } } + const currentWindow = getWindowByContentId(webContentsId); switch (cmd) { case "openDevTools": event.sender.openDevTools({mode: "bottom"}); break; case "show": - showWindow(getWindowByContentId(webContentsId)); + showWindow(currentWindow); break; case "hide": - getWindowByContentId(webContentsId).hide(); + currentWindow.hide(); + break; + case "focus": + currentWindow.focus(); + break; + case "clearCache": + event.sender.session.clearCache(); break; case "redo": event.sender.redo(); @@ -724,7 +733,14 @@ app.whenReady().then(() => { event.sender.undo(); break; case "destroy": - getWindowByContentId(webContentsId).destroy(); + currentWindow.destroy(); + break; + case "setProxy": + event.sender.session.closeAllConnections().then(() => { + event.sender.session.setProxy({proxyRules: data.proxyURL}).then(() => { + console.log("network proxy [" + data.proxyURL + "]"); + }); + }); break; } }); diff --git a/app/src/config/util/about.ts b/app/src/config/util/about.ts index 1a8af83aa..f07ed67ea 100644 --- a/app/src/config/util/about.ts +++ b/app/src/config/util/about.ts @@ -1,9 +1,10 @@ /// #if !BROWSER -import {getCurrentWindow} from "@electron/remote"; +import {ipcRenderer} from "electron"; /// #endif import {Dialog} from "../../dialog"; import {isMobile} from "../../util/functions"; import {fetchPost} from "../../util/fetch"; +import {Constants} from "../../constants"; export const setProxy = () => { /// #if !BROWSER @@ -11,13 +12,9 @@ export const setProxy = () => { console.log("network proxy [system]"); return; } - - const session = getCurrentWindow().webContents.session; - session.closeAllConnections().then(() => { - const proxyURL = `${window.siyuan.config.system.networkProxy.scheme}://${window.siyuan.config.system.networkProxy.host}:${window.siyuan.config.system.networkProxy.port}`; - session.setProxy({proxyRules: proxyURL}).then( - () => console.log("network proxy [" + proxyURL + "]"), - ); + ipcRenderer.send(Constants.SIYUAN_CMD, { + cmd: "setProxy", + proxyURL: `${window.siyuan.config.system.networkProxy.scheme}://${window.siyuan.config.system.networkProxy.host}:${window.siyuan.config.system.networkProxy.port}` }); /// #endif }; diff --git a/app/src/layout/Wnd.ts b/app/src/layout/Wnd.ts index 626a9edb9..c53fb1e50 100644 --- a/app/src/layout/Wnd.ts +++ b/app/src/layout/Wnd.ts @@ -16,7 +16,6 @@ import {hasClosestBlock, hasClosestByAttribute, hasClosestByClassName} from "../ import {Constants} from "../constants"; /// #if !BROWSER import {webFrame, ipcRenderer} from "electron"; -import {getCurrentWindow} from "@electron/remote"; import {setModelsHash, setTabPosition} from "../window/setHeader"; /// #endif import {Search} from "../search"; @@ -123,17 +122,6 @@ export class Wnd { if (window.siyuan.config.fileTree.openFilesUseCurrentTab && target.getAttribute("data-type") === "tab-header") { target.classList.remove("item--unupdate"); break; - } else if (target.tagName === "SPAN" && target.className === "fn__flex-1" && - isWindow() && this.headersElement.getBoundingClientRect().top <= 0) { - /// #if !BROWSER - const currentWindow = getCurrentWindow(); - if (currentWindow.isMaximized()) { - currentWindow.unmaximize(); - } else { - currentWindow.maximize(); - } - /// #endif - break; } target = target.parentElement; } @@ -237,7 +225,7 @@ export class Wnd { ipcRenderer.send(Constants.SIYUAN_SEND_WINDOWS, {cmd: "closetab", data: tabData.id}); it.querySelector("li[data-clone='true']").remove(); wnd.switchTab(oldTab.headElement); - getCurrentWindow().focus(); + ipcRenderer.send(Constants.SIYUAN_CMD, "focus"); } } /// #endif @@ -344,7 +332,7 @@ export class Wnd { JSONToCenter(app, tabData, this); oldTab = this.children[this.children.length - 1]; ipcRenderer.send(Constants.SIYUAN_SEND_WINDOWS, {cmd: "closetab", data: tabData.id}); - getCurrentWindow().focus(); + ipcRenderer.send(Constants.SIYUAN_CMD, "focus"); } /// #endif if (!oldTab) { @@ -791,7 +779,7 @@ export class Wnd { } /// #if !BROWSER webFrame.clearCache(); - getCurrentWindow().webContents.session.clearCache(); + ipcRenderer.send(Constants.SIYUAN_CMD, "clearCache"); setTabPosition(); /// #endif }; diff --git a/app/src/window/closeWin.ts b/app/src/window/closeWin.ts index 3a06e5cfd..b8bb4815d 100644 --- a/app/src/window/closeWin.ts +++ b/app/src/window/closeWin.ts @@ -1,5 +1,6 @@ import {App} from "../index"; -import {getCurrentWindow} from "@electron/remote"; +import {Constants} from "../constants"; +import { ipcRenderer } from "electron"; export const closeWindow = async (app: App) => { for (let i = 0; i < app.plugins.length; i++) { @@ -9,5 +10,5 @@ export const closeWindow = async (app: App) => { console.error(e); } } - getCurrentWindow().destroy(); + ipcRenderer.send(Constants.SIYUAN_CMD, "destroy"); };