using System.Collections.Generic; using System.Text.Json.Serialization; namespace AxCopilot.Models; public class LauncherSettings { [JsonPropertyName("opacity")] public double Opacity { get; set; } = 0.96; [JsonPropertyName("maxResults")] public int MaxResults { get; set; } = 7; [JsonPropertyName("theme")] public string Theme { get; set; } = "system"; [JsonPropertyName("position")] public string Position { get; set; } = "center-top"; [JsonPropertyName("width")] public double Width { get; set; } = 680.0; [JsonPropertyName("webSearchEngine")] public string WebSearchEngine { get; set; } = "g"; [JsonPropertyName("snippetAutoExpand")] public bool SnippetAutoExpand { get; set; } = true; [JsonPropertyName("language")] public string Language { get; set; } = "ko"; [JsonPropertyName("customTheme")] public CustomThemeColors? CustomTheme { get; set; } [JsonPropertyName("showNumberBadges")] public bool ShowNumberBadges { get; set; } = true; [JsonPropertyName("enableFavorites")] public bool EnableFavorites { get; set; } = true; [JsonPropertyName("enableRecent")] public bool EnableRecent { get; set; } = true; [JsonPropertyName("enableActionMode")] public bool EnableActionMode { get; set; } = true; [JsonPropertyName("closeOnFocusLost")] public bool CloseOnFocusLost { get; set; } = true; [JsonPropertyName("showPrefixBadge")] public bool ShowPrefixBadge { get; set; } = true; [JsonPropertyName("enableIconAnimation")] public bool EnableIconAnimation { get; set; } = true; [JsonPropertyName("enableRandomPlaceholder")] public bool EnableRandomPlaceholder { get; set; } = true; [JsonPropertyName("enableRainbowGlow")] public bool EnableRainbowGlow { get; set; } = false; [JsonPropertyName("enableSelectionGlow")] public bool EnableSelectionGlow { get; set; } = false; [JsonPropertyName("showLauncherBorder")] public bool ShowLauncherBorder { get; set; } = true; [JsonPropertyName("shortcutHelpUseThemeColor")] public bool ShortcutHelpUseThemeColor { get; set; } = true; [JsonPropertyName("enableTextAction")] public bool EnableTextAction { get; set; } = true; [JsonPropertyName("textActionCommands")] public List TextActionCommands { get; set; } = new List { "translate", "summarize", "grammar", "explain", "rewrite" }; [JsonPropertyName("textActionTranslateLanguage")] public string TextActionTranslateLanguage { get; set; } = "auto"; [JsonPropertyName("enableFileDialogIntegration")] public bool EnableFileDialogIntegration { get; set; } = false; [JsonPropertyName("enableClipboardAutoCategory")] public bool EnableClipboardAutoCategory { get; set; } = true; [JsonPropertyName("maxPinnedClipboardItems")] public int MaxPinnedClipboardItems { get; set; } = 20; [JsonPropertyName("dockBarItems")] public List DockBarItems { get; set; } = new List { "launcher", "clipboard", "capture", "agent", "clock", "cpu" }; [JsonPropertyName("dockBarAutoShow")] public bool DockBarAutoShow { get; set; } = false; [JsonPropertyName("dockBarOpacity")] public double DockBarOpacity { get; set; } = 0.92; [JsonPropertyName("dockBarRainbowGlow")] public bool DockBarRainbowGlow { get; set; } = false; [JsonPropertyName("dockBarLeft")] public double DockBarLeft { get; set; } = -1.0; [JsonPropertyName("dockBarTop")] public double DockBarTop { get; set; } = -1.0; }