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.
This commit is contained in:
Namhyeon Go 2025-10-01 13:23:27 +09:00
parent a35e101f23
commit a3e00d1762
4 changed files with 23 additions and 6 deletions

View File

@ -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
});

View File

@ -105,6 +105,15 @@ namespace WelsonJS.Launcher.Properties {
}
}
/// <summary>
/// true과(와) 유사한 지역화된 문자열을 찾습니다.
/// </summary>
internal static string ChromiumAppMode {
get {
return ResourceManager.GetString("ChromiumAppMode", resourceCulture);
}
}
/// <summary>
/// http://localhost:9222/과(와) 유사한 지역화된 문자열을 찾습니다.
/// </summary>
@ -126,9 +135,9 @@ namespace WelsonJS.Launcher.Properties {
/// <summary>
/// msedge.exe과(와) 유사한 지역화된 문자열을 찾습니다.
/// </summary>
internal static string ChromiumFileName {
internal static string ChromiumExecutablePath {
get {
return ResourceManager.GetString("ChromiumFileName", resourceCulture);
return ResourceManager.GetString("ChromiumExecutablePath", resourceCulture);
}
}

View File

@ -202,7 +202,7 @@
<data name="ResourceServerAutoStart" xml:space="preserve">
<value>true</value>
</data>
<data name="ChromiumFileName" xml:space="preserve">
<data name="ChromiumExecutablePath" xml:space="preserve">
<value>msedge.exe</value>
</data>
<data name="ChromiumDevToolsTimeout" xml:space="preserve">
@ -211,4 +211,7 @@
<data name="NativeRequireSigned" xml:space="preserve">
<value>false</value>
</data>
<data name="ChromiumAppMode" xml:space="preserve">
<value>true</value>
</data>
</root>

View File

@ -7,7 +7,8 @@
<add key="CopilotUrl" value="https://copilot.microsoft.com/"/>
<add key="ChromiumDevToolsPrefix" value="http://localhost:9222/"/>
<add key="ChromiumDevToolsTimeout" value="5"/>
<add key="ChromiumFileName" value="msedge.exe"/>
<add key="ChromiumExecutablePath" value="msedge.exe"/>
<add key="ChromiumAppMode" value="true"/>
<add key="AzureAiServicePrefix" value="https://ai-catswords656881030318.services.ai.azure.com/"/>
<add key="AzureAiServiceApiKey" value=""/>
<add key="AzureAiServiceApiVersion" value="2024-05-01-preview"/>