From a3e00d1762486b56352b8c35c04d4d09d133e298 Mon Sep 17 00:00:00 2001 From: "Namhyeon, Go" Date: Wed, 1 Oct 2025 13:23:27 +0900 Subject: [PATCH] Add Chromium app mode and update executable config keys Introduces a new 'ChromiumAppMode' configuration option to launch Chromium in app mode when enabled. Renames 'ChromiumFileName' to 'ChromiumExecutablePath' in both code and configuration for clarity and consistency. --- WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs | 8 ++++++-- .../Properties/Resources.Designer.cs | 13 +++++++++++-- .../WelsonJS.Launcher/Properties/Resources.resx | 5 ++++- WelsonJS.Toolkit/WelsonJS.Launcher/app.config | 3 ++- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs index b15d93a..616e1a5 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/Program.cs @@ -188,8 +188,12 @@ namespace WelsonJS.Launcher string userDataDir = Path.Combine(GetAppDataPath(), "EdgeUserProfile"); string remoteAllowOrigins = $"{resourceServerUri.Scheme}://{resourceServerUri.Host}:{resourceServerUri.Port}"; int remoteDebuggingPort = devToolsUri.Port; + bool isAppMode = string.Equals( + GetAppConfig("ChromiumAppMode"), + "true", + StringComparison.OrdinalIgnoreCase); string[] arguments = { - $"\"{url}\"", + isAppMode ? $"\"--app={url}\"" : $"\"{url}\"", $"--remote-debugging-port={remoteDebuggingPort}", $"--remote-allow-origins={remoteAllowOrigins}", // for security reason $"--user-data-dir=\"{userDataDir}\"" @@ -197,7 +201,7 @@ namespace WelsonJS.Launcher Process.Start(new ProcessStartInfo { - FileName = Program.GetAppConfig("ChromiumFileName"), + FileName = Program.GetAppConfig("ChromiumExecutablePath"), Arguments = string.Join(" ", arguments), UseShellExecute = true }); diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.Designer.cs b/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.Designer.cs index fdc2c3d..a63df84 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.Designer.cs +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.Designer.cs @@ -105,6 +105,15 @@ namespace WelsonJS.Launcher.Properties { } } + /// + /// true과(와) 유사한 지역화된 문자열을 찾습니다. + /// + internal static string ChromiumAppMode { + get { + return ResourceManager.GetString("ChromiumAppMode", resourceCulture); + } + } + /// /// http://localhost:9222/과(와) 유사한 지역화된 문자열을 찾습니다. /// @@ -126,9 +135,9 @@ namespace WelsonJS.Launcher.Properties { /// /// msedge.exe과(와) 유사한 지역화된 문자열을 찾습니다. /// - internal static string ChromiumFileName { + internal static string ChromiumExecutablePath { get { - return ResourceManager.GetString("ChromiumFileName", resourceCulture); + return ResourceManager.GetString("ChromiumExecutablePath", resourceCulture); } } diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.resx b/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.resx index dc3dc74..36cdf34 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.resx +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/Properties/Resources.resx @@ -202,7 +202,7 @@ true - + msedge.exe @@ -211,4 +211,7 @@ false + + true + \ No newline at end of file diff --git a/WelsonJS.Toolkit/WelsonJS.Launcher/app.config b/WelsonJS.Toolkit/WelsonJS.Launcher/app.config index a26dab3..5263b9e 100644 --- a/WelsonJS.Toolkit/WelsonJS.Launcher/app.config +++ b/WelsonJS.Toolkit/WelsonJS.Launcher/app.config @@ -7,7 +7,8 @@ - + +