mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +01:00
Improve monitor rotation using GDI device name
Refactor monitor discovery and rotation logic to use the GdiDeviceName property for accurate display targeting, especially in multi-monitor setups. Update the Monitor model to include GdiDeviceName, adjust DisplayRotationService and MonitorManager to use it, and enhance logging for better traceability. Also, unify hardware property application in MonitorViewModel to reduce code duplication. These changes increase reliability and maintainability of monitor control operations.
This commit is contained in:
@@ -299,14 +299,9 @@ namespace PowerDisplay.Helpers
|
||||
return Task.FromResult(MonitorOperationResult.Failure("Monitor not found"));
|
||||
}
|
||||
|
||||
if (monitor.MonitorNumber <= 0)
|
||||
{
|
||||
Logger.LogError($"[MonitorManager] SetRotation: Invalid monitor number for {monitorId}");
|
||||
return Task.FromResult(MonitorOperationResult.Failure("Invalid monitor number"));
|
||||
}
|
||||
|
||||
// Rotation uses Windows display settings API, not DDC/CI controller
|
||||
var result = _rotationService.SetRotation(monitor.MonitorNumber, orientation);
|
||||
// Prefer using Monitor object which contains GdiDeviceName for accurate adapter targeting
|
||||
var result = _rotationService.SetRotation(monitor, orientation);
|
||||
|
||||
if (result.IsSuccess)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user