diff --git a/src/Core/ProfileManager.cs b/src/Core/ProfileManager.cs index 26be230..67ae5b2 100644 --- a/src/Core/ProfileManager.cs +++ b/src/Core/ProfileManager.cs @@ -863,6 +863,22 @@ private bool ApplyStagedConfiguration(List tc.IsEnabled && !phase1Configs.Any(p => p.TargetId == tc.TargetId && p.SourceId == tc.SourceId)) + .ToList(); + + foreach (var config in newlyEnabledConfigs) + { + logger.Debug($"Phase 2: Changing mode for newly-enabled {config.DeviceName} to {config.Width}x{config.Height}@{config.RefreshRate}Hz"); + if (!DisplayHelper.ChangeResolution(config.DeviceName, config.Width, config.Height, (int)config.RefreshRate)) + { + logger.Warn($"Phase 2: Failed to change resolution for newly-enabled display {config.DeviceName}."); + } + } + // Apply final positions for all monitors if (!DisplayConfigHelper.ApplyDisplayPosition(targetConfigs)) {