Issue 1:
Environment

Microsoft Windows [Version 10.0.18363.592]

PowerToys 0.17.0 (does not work) & PowerToys any earlier version up to and including 0.16.1 (works)

FancyZones module with a custom template that has zones overlapping each other (see below for example)

Steps to reproduce

create two zones that overlap each other by just a tiny amount, eg. a row of pixels (see example below after '# Additional Information')

Install PT v0.16.1

Observe how each zone can be addressed by moving the window with the mouse to each zone in turn. Dropping the window will scale it to the size of the zone. Everything is just as expected and the way it has worked since PTs inception.

Install PT v0.17.0

Observe

a. overlapping zones are not displayed anymore, only the "topmost" ones

b. dropping the window will scale it to the INVISIBLE zone BENEATH the one being highlighted

Note that the zones addressed by moving the window with the mouse are not available as dropzones.

Note that the zones the windows scales to are not shown/highlighted when moving the mouse over them.

Expected behavior

Identical behavior to previous version of PowerToys.

If that is - for some reason - not possible, then

a. a check at startup/upgrade to inform user that the existing default zone will not work properly

b. scaling the windows to the zone highlighted with the mouse, not the underlying, invisible zone.

Actual behavior

See '# Steps to reproduce'

Not all zones are highlighted. Windows do not scale to highlighted zone.

Highlighted zone is not available to Window, instead invisible zone is used.

Screenshots

Two videos, illustrating the problem are available here:

PowerTools 0.16.1 FancyZones working great:

https://1drv.ms/v/s!AhGCFYhCh0AWhWMm_tjWxsnbC4h5?e=w9RuCN

PowerTools 0.17.0 FancyZones not working as expected:

https://1drv.ms/v/s!AhGCFYhCh0AWhWRxqmL2QaCaHOsm?e=yLCNgl

(Videos have been scaled down to a resolution of 1720x720)

Additional Information

This is (part of the) $env:LocalAppData\Microsoft\PowerToys\FancyZones\zones-settings.json defining the zones:

"custom-zone-sets": [
{
"uuid": "{FF554258-8753-4D27-9080-A6A6EE91BD8D}",
"name": "3440x1440",
"type": "canvas",
"info": {
"ref-width": 3440,
"ref-height": 1410,
"zones": [
{
"X": 0,
"Y": 1,
"width": 873,
"height": 470
},
{
"X": 0,
"Y": 470,
"width": 873,
"height": 470
},
{
"X": 0,
"Y": 940,
"width": 873,
"height": 469
},
{
"X": 0,
"Y": 0,
"width": 872,
"height": 705
},
{
"X": 0,
"Y": 705,
"width": 872,
"height": 705
},
{
"X": 872,
"Y": 1,
"width": 1504,
"height": 1408
},
{
"X": 872,
"Y": 0,
"width": 1976,
"height": 1410
},
{
"X": 2376,
"Y": 0,
"width": 1064,
"height": 754
},
{
"X": 2375,
"Y": 656,
"width": 1064,
"height": 754
},
{
"X": 2375,
"Y": 0,
"width": 1065,
"height": 1410
}
]
}
}

Issue 2:
First off thanks for the FancyZones addition, it's definitely needed. I noticed that when dragging a Window to a Zone it expands and snaps into place perfectly. However when I pull the Window out of the Zone it remains the same shape and size that it was when it was in the zone. It would be nice if it could go back to the original shape and size it had before it was snapped into a zone, Perhaps make it optional, I could see how people might prefer one way over the other.