microsoft/PowerToys

[FancyZones] detect / support unconventional dragging of Windows in some programs

Open

#7,010 opened on Oct 5, 2020

View on GitHub
 (2 comments) (0 reactions) (0 assignees)C# (7,978 forks)batch import
Help WantedIdea-EnhancementIssue-DCRProduct-FancyZones

Repository metrics

Stars
 (133,154 stars)
PR merge metrics
 (Avg merge 14d 20h) (117 merged PRs in 30d)

Description

📝 Provide a description of the new feature

What is the expected behavior of the proposed feature? What is the scenario this would be used? Programs such as IBKR TWS have custom window formats and their dragging doesn't get registered by PowerToys and so they don't snap into FancyZones.

FancyZones are probably the most used feature of PowerToys. Adding "unconventional window drag" support will do a lot of good.

I would be able to do some tests if someone can tell me how to get Debug running. IBKR TWS could be having exactly the same issue as explained in: https://github.com/microsoft/PowerToys/issues/2634 which is probably missing the bolded START and END lines. The center line "LocationChange" still happens but PowerToys would not like to change the window dragging handler to work based on just "LocationChange" (not sure about the reason): 1 event 0x000A EVENT_SYSTEM_MOVESIZESTART several events 0x800B EVENT_OBJECT_LOCATIONCHANGE 1 event 0x000B EVENT_SYSTEM_MOVESIZEEND

My suggestion: PowerToys should add a Custom Drag "enable/disable" button that enables the "custom" window drag handler that allows for programs that do not conform to get snapped as well. This feature will be OFF by default and only is only enabled when needed.

Reference: https://github.com/microsoft/PowerToys/issues/6631#issuecomment-703079137 https://github.com/microsoft/PowerToys/issues/6771#issuecomment-703029271

Contributor guide