public void SelectMonitor() { var validInput = false; var displays = DxEnumerate.GetMonitors(_config.Model.adapterId); if (!displays?.Any() ?? true) { Console.WriteLine("No monitors found."); Console.ReadLine(); return; } do { Console.Clear(); Console.WriteLine($"Found monitors:"); foreach (var display in displays) { Console.WriteLine($"{display.OutputId}: Name: {display.Name}, Info: {display.Width}x{display.Height}x{display.RefreshRate:0.##} Format: {display.Format}"); } Console.WriteLine("Input a display(#) to connect to: "); var read = Console.ReadLine(); if (int.TryParse(read, out var readInt)) { if (readInt > displays.Count || readInt < 0) { continue; } var display = displays.FirstOrDefault(x => x.OutputId == readInt); if (display == null) { continue; } validInput = true; _config.Model.monitorId = display.OutputId; _config.SaveConfig(); _screen.Start(); } }while (!validInput); }
public void SelectAdapter() { var validInput = false; var adapters = DxEnumerate.GetAdapters(); if (!adapters?.Any() ?? true) { Console.WriteLine("No adapters found."); Console.ReadLine(); return; } do { Console.Clear(); Console.WriteLine($"Found adapters:"); foreach (var adapter in adapters) { Console.WriteLine($"{adapter.AdapterId}: Name: {adapter.Name}"); } Console.WriteLine("Input a adapter(#) to connect to: "); var read = Console.ReadLine(); if (int.TryParse(read, out var readInt)) { if (readInt > adapters.Count || readInt < 0) { continue; } var adapter = adapters.FirstOrDefault(x => x.AdapterId == readInt); if (adapter == null) { continue; } validInput = true; _config.Model.adapterId = adapter.AdapterId; _config.SaveConfig(); _screen.Start(); } }while (!validInput); }