Powertoys: FancyZones not working for TortoiseGit

Created on 18 Dec 2019  路  3Comments  路  Source: microsoft/PowerToys

Environment

Windows build number: 10.0.19041.1
PowerToys version: 0.14.1.0
PowerToy module for which you are reporting the bug (if applicable): FancyZones
TortoiseGit version: 2.8.0.0, 2.9.0.0

Steps to reproduce

Move TortoiseGit window while pressing shift key.

Expected behavior

Fancy zones should appear and window should snap to them.

Actual behavior

No fancy zones and snapping happens for TortoiseGit window however it works for all other windows. Used to work in some older versions of PowertToys.

Issue-Bug Product-FancyZones Resolution-Fix-Committed Severity-Regression

Most helpful comment

TortoiseGit - at least for the Rebase window - sets it up using DS_3DLOOK and DS_FIXEDSYS window styles. This causes FancyZones to treat it as a dialog box. The style set is very similar to "Save as..." dialog.

We could relax the rules. Having WS_THICKFRAME makes the window sizable. If it also does not have an owner, we could allow for such windows to be zoned.

We also should make another key (Ctrl?) that would force the window to be zoned, no matter what the style or other properties are.

All 3 comments

TortoiseGit - at least for the Rebase window - sets it up using DS_3DLOOK and DS_FIXEDSYS window styles. This causes FancyZones to treat it as a dialog box. The style set is very similar to "Save as..." dialog.

We could relax the rules. Having WS_THICKFRAME makes the window sizable. If it also does not have an owner, we could allow for such windows to be zoned.

We also should make another key (Ctrl?) that would force the window to be zoned, no matter what the style or other properties are.

issue with another key is it is unclear when that would have to happen. How would i ever know that i would need to do that.

I would suggest we create a larger issue, talk about the scenario we're solving and the cases where it would cause other scenarios to fail.

Maybe this is also a good scenario to clearly map out all the windowing permutations we have to work with so we can have this discussion for each time something like this comes up. This way we have a test matrix we can test WinAppDriver against and know we didn't cause a regression with a fix

Was this page helpful?
0 / 5 - 0 ratings