소스 검색

:art: Support set Chromium command line arguments on the desktop https://github.com/siyuan-note/siyuan/issues/9696

Daniel 1 년 전
부모
커밋
5a727078be
1개의 변경된 파일16개의 추가작업 그리고 1개의 파일을 삭제
  1. 16 1
      app/electron/main.js

+ 16 - 1
app/electron/main.js

@@ -590,6 +590,7 @@ const initKernel = (workspace, port, lang) => {
 };
 
 app.setAsDefaultProtocolClient("siyuan");
+app.setPath("userData", app.getPath("userData") + "-Electron"); // `~/.config` 下 Electron 相关文件夹名称改为 `SiYuan-Electron` https://github.com/siyuan-note/siyuan/issues/3349
 
 app.commandLine.appendSwitch("disable-web-security");
 app.commandLine.appendSwitch("auto-detect", "false");
@@ -597,7 +598,21 @@ app.commandLine.appendSwitch("no-proxy-server");
 app.commandLine.appendSwitch("enable-features", "PlatformHEVCDecoderSupport");
 app.commandLine.appendSwitch("force_high_performance_gpu"); // Force using discrete GPU when there are multiple GPUs available on the desktop https://github.com/siyuan-note/siyuan/issues/9694
 
-app.setPath("userData", app.getPath("userData") + "-Electron"); // `~/.config` 下 Electron 相关文件夹名称改为 `SiYuan-Electron` https://github.com/siyuan-note/siyuan/issues/3349
+// Support set Chromium command line arguments on the desktop https://github.com/siyuan-note/siyuan/issues/9696
+writeLog("app is packaged [" + app.isPackaged + "], command line args [" + process.argv.join(", ") + "]");
+let argStart = 1;
+if (!app.isPackaged) {
+    argStart = 2
+}
+for (let i = argStart; i < process.argv.length; i++) {
+    if (process.argv[i].startsWith("--workspace=") || process.argv[i].startsWith("--port=")) {
+        // 跳过内置参数
+        continue
+    }
+
+    app.commandLine.appendSwitch(process.argv[i]);
+    writeLog("command line switch [" + process.argv[i] + "]");
+}
 
 app.whenReady().then(() => {
     const resetTrayMenu = (tray, lang, mainWindow) => {