diff --git a/src/MaaWpfGui/Constants/ConfigurationKeys.cs b/src/MaaWpfGui/Constants/ConfigurationKeys.cs index 8e386e1445..6e29fdd225 100644 --- a/src/MaaWpfGui/Constants/ConfigurationKeys.cs +++ b/src/MaaWpfGui/Constants/ConfigurationKeys.cs @@ -50,6 +50,7 @@ namespace MaaWpfGui.Constants public const string ClientType = "Start.ClientType"; public const string RunDirectly = "Start.RunDirectly"; + public const string MinimizeDirectly = "Start.MinimizeDirectly"; public const string StartEmulator = "Start.StartEmulator"; public const string MinimizingStartup = "Start.MinimizingStartup"; public const string EmulatorPath = "Start.EmulatorPath"; diff --git a/src/MaaWpfGui/Helper/WindowManager.cs b/src/MaaWpfGui/Helper/WindowManager.cs index d754daf7de..45417922ee 100644 --- a/src/MaaWpfGui/Helper/WindowManager.cs +++ b/src/MaaWpfGui/Helper/WindowManager.cs @@ -91,6 +91,19 @@ namespace MaaWpfGui.Helper MoveWindowToDisplay(ScreenName, window); } + bool minimizeDirectly = bool.Parse(ConfigurationHelper.GetValue(ConfigurationKeys.MinimizeDirectly, bool.FalseString)); + if (minimizeDirectly) + { + window.WindowState = WindowState.Minimized; + } + + bool minimizeToTray = bool.Parse(ConfigurationHelper.GetValue(ConfigurationKeys.MinimizeToTray, bool.FalseString)); + if (minimizeDirectly && minimizeToTray) + { + window.ShowInTaskbar = false; + window.Visibility = Visibility.Hidden; + } + var app = Application.Current as App; app!.DarkToStart(); } diff --git a/src/MaaWpfGui/Res/Localizations/en-us.xaml b/src/MaaWpfGui/Res/Localizations/en-us.xaml index 785bb8b35a..2e72f359bb 100644 --- a/src/MaaWpfGui/Res/Localizations/en-us.xaml +++ b/src/MaaWpfGui/Res/Localizations/en-us.xaml @@ -183,6 +183,7 @@ Auto start with PC Auto Run task after launched + Auto Minimize after launched Client Type Restart when game disconnects Startup Emulator after launched diff --git a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml index dbfd5f1653..5d663dd414 100644 --- a/src/MaaWpfGui/Res/Localizations/ja-jp.xaml +++ b/src/MaaWpfGui/Res/Localizations/ja-jp.xaml @@ -1,4 +1,4 @@ -スタートアップ アプリの起動時に自動的に実行 + アプリの起動時に自動的に最小化 クライアントバージョン ゲームが切断されたときに自動的に再接続する 起動時にエミュレータ自動起動 diff --git a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml index 848568a35a..7da43a055e 100644 --- a/src/MaaWpfGui/Res/Localizations/ko-kr.xaml +++ b/src/MaaWpfGui/Res/Localizations/ko-kr.xaml @@ -1,4 +1,4 @@ -시스템 시작 시 MAA 실행 MAA 실행 후 작업 자동 시작 + MAA 실행 후 최소화 클라이언트 종류 게임 연결이 끊어지면 자동으로 다시 연결 MAA 실행 후 에뮬레이터를 실행 diff --git a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml index ebe705b449..845443f821 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-cn.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-cn.xaml @@ -184,6 +184,7 @@ 开机自动启动MAA 启动MAA后直接运行 + 启动MAA后直接最小化 客户端类型 游戏掉线时自动重连 外服适配滞销,帮帮我们!不会编程也可以 diff --git a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml index fefbc96558..16a407075f 100644 --- a/src/MaaWpfGui/Res/Localizations/zh-tw.xaml +++ b/src/MaaWpfGui/Res/Localizations/zh-tw.xaml @@ -1,4 +1,4 @@ -開機自動啟動 啟動後直接運行 + 啟動後直接最小化 用戶端類型 遊戲掉線時自動重連 啟動後自動開啟模擬器 diff --git a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs index 00f3f43638..cad94bf40c 100644 --- a/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs +++ b/src/MaaWpfGui/ViewModels/UI/SettingsViewModel.cs @@ -360,6 +360,21 @@ namespace MaaWpfGui.ViewModels.UI } } + private bool _minimizeDirectly = Convert.ToBoolean(ConfigurationHelper.GetValue(ConfigurationKeys.MinimizeDirectly, bool.FalseString)); + + /// + /// Gets or sets a value indicating whether to minimize directly. + /// + public bool MinimizeDirectly + { + get => _minimizeDirectly; + set + { + SetAndNotify(ref _minimizeDirectly, value); + ConfigurationHelper.SetValue(ConfigurationKeys.MinimizeDirectly, value.ToString()); + } + } + private bool _startEmulator = Convert.ToBoolean(ConfigurationHelper.GetValue(ConfigurationKeys.StartEmulator, bool.FalseString)); /// diff --git a/src/MaaWpfGui/Views/UserControl/StartSettingsUserControl.xaml b/src/MaaWpfGui/Views/UserControl/StartSettingsUserControl.xaml index ba112d7633..914138bd99 100644 --- a/src/MaaWpfGui/Views/UserControl/StartSettingsUserControl.xaml +++ b/src/MaaWpfGui/Views/UserControl/StartSettingsUserControl.xaml @@ -39,15 +39,22 @@ HorizontalAlignment="Left" VerticalAlignment="Top" Block.TextAlignment="Center" - Content="{DynamicResource OpenEmulatorAfterLaunch}" - IsChecked="{Binding StartEmulator}" /> + Content="{DynamicResource RunTaskAfterLaunch}" + IsChecked="{Binding RunDirectly}" /> + Content="{DynamicResource MinimizeAfterLaunch}" + IsChecked="{Binding MinimizeDirectly}" /> +