diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/Overlay.cs b/src/modules/fancyzones/editor/FancyZonesEditor/Overlay.cs index 8519a3e98c..46701586e8 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/Overlay.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/Overlay.cs @@ -116,35 +116,7 @@ namespace FancyZonesEditor private int _currentDesktop; - public bool SpanZonesAcrossMonitors - { - get - { - return _spanZonesAcrossMonitors; - } - - set - { - _spanZonesAcrossMonitors = value; - - if (_spanZonesAcrossMonitors) - { - Rect workArea = default; - Rect bounds = default; - - foreach (Monitor monitor in Monitors) - { - workArea = Rect.Union(workArea, monitor.Device.WorkAreaRect); - bounds = Rect.Union(bounds, monitor.Device.ScaledBounds); - } - - Monitors.Clear(); - Monitors.Add(new Monitor(bounds, workArea)); - } - } - } - - private bool _spanZonesAcrossMonitors; + public bool SpanZonesAcrossMonitors { get; set; } public bool MultiMonitorMode { diff --git a/src/modules/fancyzones/editor/FancyZonesEditor/Utils/FancyZonesEditorIO.cs b/src/modules/fancyzones/editor/FancyZonesEditor/Utils/FancyZonesEditorIO.cs index e670404520..cbd07ecf07 100644 --- a/src/modules/fancyzones/editor/FancyZonesEditor/Utils/FancyZonesEditorIO.cs +++ b/src/modules/fancyzones/editor/FancyZonesEditor/Utils/FancyZonesEditorIO.cs @@ -419,6 +419,19 @@ namespace FancyZonesEditor.Utils } } } + else + { + Rect workArea = default; + + foreach (NativeMonitorData nativeData in editorParams.Monitors) + { + Rect monitorWorkArea = new Rect(nativeData.LeftCoordinate, nativeData.TopCoordinate, nativeData.Width, nativeData.Height); + workArea = Rect.Union(workArea, monitorWorkArea); + } + + var monitor = new Monitor(workArea, workArea); + App.Overlay.AddMonitor(monitor); + } } catch (Exception ex) {