mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 03:37:59 +01:00
[FancyZones] Fix applied layout reset in multi monitor mode (#19174)
This commit is contained in:
@@ -114,7 +114,8 @@ bool EditorParameters::Save() noexcept
|
||||
RECT combinedMonitorArea = FancyZonesUtils::GetAllMonitorsCombinedRect<&MONITORINFOEX::rcMonitor>();
|
||||
|
||||
JsonUtils::MonitorInfo monitorJson;
|
||||
monitorJson.monitorName = ZonedWindowProperties::MultiMonitorDeviceID;
|
||||
monitorJson.monitorName = ZonedWindowProperties::MultiMonitorName;
|
||||
monitorJson.monitorInstanceId = ZonedWindowProperties::MultiMonitorInstance;
|
||||
monitorJson.virtualDesktop = virtualDesktopIdStr.value();
|
||||
monitorJson.top = combinedWorkArea.top;
|
||||
monitorJson.left = combinedWorkArea.left;
|
||||
|
||||
@@ -758,7 +758,7 @@ void FancyZones::UpdateWorkAreas() noexcept
|
||||
{
|
||||
FancyZonesDataTypes::WorkAreaId workAreaId;
|
||||
workAreaId.virtualDesktopId = VirtualDesktop::instance().GetCurrentVirtualDesktopId();
|
||||
workAreaId.monitorId = { .deviceId = ZonedWindowProperties::MultiMonitorDeviceID };
|
||||
workAreaId.monitorId = { .deviceId = { .id = ZonedWindowProperties::MultiMonitorName, .instanceId = ZonedWindowProperties::MultiMonitorInstance } };
|
||||
|
||||
AddWorkArea(nullptr, workAreaId);
|
||||
}
|
||||
|
||||
@@ -11,7 +11,8 @@ namespace ZonedWindowProperties
|
||||
const wchar_t PropertyRestoreOriginID[] = L"FancyZones_RestoreOrigin";
|
||||
const wchar_t PropertyCornerPreference[] = L"FancyZones_CornerPreference";
|
||||
|
||||
const wchar_t MultiMonitorDeviceID[] = L"FancyZones#MultiMonitorDevice";
|
||||
const wchar_t MultiMonitorName[] = L"FancyZones";
|
||||
const wchar_t MultiMonitorInstance[] = L"MultiMonitorDevice";
|
||||
}
|
||||
|
||||
namespace FancyZonesWindowProperties
|
||||
|
||||
@@ -369,6 +369,8 @@ namespace FancyZonesEditor.Utils
|
||||
|
||||
var monitor = new Monitor(workArea, monitorSize);
|
||||
monitor.Device.MonitorName = nativeData.Monitor;
|
||||
monitor.Device.MonitorInstanceId = nativeData.MonitorInstanceId;
|
||||
monitor.Device.MonitorSerialNumber = nativeData.MonitorSerialNumber;
|
||||
monitor.Device.VirtualDesktopId = nativeData.VirtualDesktop;
|
||||
|
||||
App.Overlay.AddMonitor(monitor);
|
||||
|
||||
Reference in New Issue
Block a user