Add startup application support and dialog for user prompts

This commit is contained in:
2026-01-07 09:47:22 +11:00
parent dafeeb0f15
commit 97bf98f99e
4 changed files with 250 additions and 0 deletions

View File

@@ -36,6 +36,12 @@ public class DevDriveConfig
/// </summary>
[JsonPropertyName("paths")]
public List<SymlinkEntry> Paths { get; set; } = [];
/// <summary>
/// List of applications to prompt for launch after mounting.
/// </summary>
[JsonPropertyName("startupApps")]
public List<StartupApp> StartupApps { get; set; } = [];
}
/// <summary>
@@ -55,3 +61,39 @@ public class SymlinkEntry
[JsonPropertyName("path")]
public string Path { get; set; } = string.Empty;
}
/// <summary>
/// Represents an application to launch after mounting.
/// </summary>
public class StartupApp
{
/// <summary>
/// Display name shown in the dialog.
/// </summary>
[JsonPropertyName("name")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// Path to the executable.
/// </summary>
[JsonPropertyName("path")]
public string Path { get; set; } = string.Empty;
/// <summary>
/// Command line arguments (optional).
/// </summary>
[JsonPropertyName("arguments")]
public string Arguments { get; set; } = string.Empty;
/// <summary>
/// Working directory (optional, defaults to executable's directory).
/// </summary>
[JsonPropertyName("workingDirectory")]
public string WorkingDirectory { get; set; } = string.Empty;
/// <summary>
/// Whether this app is checked by default in the dialog.
/// </summary>
[JsonPropertyName("checkedByDefault")]
public bool CheckedByDefault { get; set; } = true;
}