[FancyZones] Fix applied layout reset in multi monitor mode (#19174)

This commit is contained in:
Seraphima Zykova
2022-07-05 13:07:59 +02:00
committed by GitHub
parent 0ad71815bb
commit 32fc88abd2
4 changed files with 7 additions and 3 deletions

View File

@@ -114,7 +114,8 @@ bool EditorParameters::Save() noexcept
RECT combinedMonitorArea = FancyZonesUtils::GetAllMonitorsCombinedRect<&MONITORINFOEX::rcMonitor>(); RECT combinedMonitorArea = FancyZonesUtils::GetAllMonitorsCombinedRect<&MONITORINFOEX::rcMonitor>();
JsonUtils::MonitorInfo monitorJson; JsonUtils::MonitorInfo monitorJson;
monitorJson.monitorName = ZonedWindowProperties::MultiMonitorDeviceID; monitorJson.monitorName = ZonedWindowProperties::MultiMonitorName;
monitorJson.monitorInstanceId = ZonedWindowProperties::MultiMonitorInstance;
monitorJson.virtualDesktop = virtualDesktopIdStr.value(); monitorJson.virtualDesktop = virtualDesktopIdStr.value();
monitorJson.top = combinedWorkArea.top; monitorJson.top = combinedWorkArea.top;
monitorJson.left = combinedWorkArea.left; monitorJson.left = combinedWorkArea.left;

View File

@@ -758,7 +758,7 @@ void FancyZones::UpdateWorkAreas() noexcept
{ {
FancyZonesDataTypes::WorkAreaId workAreaId; FancyZonesDataTypes::WorkAreaId workAreaId;
workAreaId.virtualDesktopId = VirtualDesktop::instance().GetCurrentVirtualDesktopId(); workAreaId.virtualDesktopId = VirtualDesktop::instance().GetCurrentVirtualDesktopId();
workAreaId.monitorId = { .deviceId = ZonedWindowProperties::MultiMonitorDeviceID }; workAreaId.monitorId = { .deviceId = { .id = ZonedWindowProperties::MultiMonitorName, .instanceId = ZonedWindowProperties::MultiMonitorInstance } };
AddWorkArea(nullptr, workAreaId); AddWorkArea(nullptr, workAreaId);
} }

View File

@@ -11,7 +11,8 @@ namespace ZonedWindowProperties
const wchar_t PropertyRestoreOriginID[] = L"FancyZones_RestoreOrigin"; const wchar_t PropertyRestoreOriginID[] = L"FancyZones_RestoreOrigin";
const wchar_t PropertyCornerPreference[] = L"FancyZones_CornerPreference"; 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 namespace FancyZonesWindowProperties

View File

@@ -369,6 +369,8 @@ namespace FancyZonesEditor.Utils
var monitor = new Monitor(workArea, monitorSize); var monitor = new Monitor(workArea, monitorSize);
monitor.Device.MonitorName = nativeData.Monitor; monitor.Device.MonitorName = nativeData.Monitor;
monitor.Device.MonitorInstanceId = nativeData.MonitorInstanceId;
monitor.Device.MonitorSerialNumber = nativeData.MonitorSerialNumber;
monitor.Device.VirtualDesktopId = nativeData.VirtualDesktop; monitor.Device.VirtualDesktopId = nativeData.VirtualDesktop;
App.Overlay.AddMonitor(monitor); App.Overlay.AddMonitor(monitor);