mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-16 11:48:06 +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>();
|
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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user