microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
110.64k stars 6.52k forks source link

[FancyZones] distinguish between "drop" and "resize to" zone #633

Open JohnLukeBentley opened 4 years ago

JohnLukeBentley commented 4 years ago

I suggest that to make FancyZones really useful it should distinguish between the zone that you drag a window to, what we might call a "Drop Zone", and the zone that window will be resized to, represented by a "Resize to" zone.

For example, you could drag a window to some small zone on monitor 1 and have that window resize to cover all of monitor 1 and monitor 2.

This is indeed the way GridMove works. (Edit: The current problem with GridMove: setting up these zones is cumbersome; and currently there are unintended gutters).

JohnLukeBentley commented 3 years ago

I still think the original idea has merit. However some clever design work by the FancyZones team since my origingal post has made the need for the original idea less vital. In particular the canvas layout type is enormously helpful here.

Indeed I (we) can now largely meet the essential need motivating the original idea, to be able to quickly resize a program to a rectangle of almost any arbitrary size (and especially across a multimonitor setup), with the following confirguation:

PowerToy Settings > Fancy Zones:

FancyZones Editor (Win + `):

Use:

That works really well. Even without an explicit boundary around a "drop" zone. With the above settings it's implied to be somewhare near a zone index and the efficacy of the zone index is fed back to you as you move your cursor toward the zone index (the "resize to" zone will change). Choosing a zone smaller than a screen versus choosing a zone that spans multiple screens is easy enough.

The relevant issue for this thread is now, therefore, will adding an explicit boundary around a "drop" zone result in something more confusing rather than less?

I'm inclined to think the answer is "no": an explicit boundary around a "drop" zone will be less confusing and provide additional help. However, I'm not sure about this and it will probably be settled by doing a few design spikes.

As an additional issue (possibly deserving its own thread, but it intersects here) it seems impossible, under the current regime, to differentiate, on the centre monitor in a triple monitor setup, between:

This might be where differentiating between (and allowing for independent configuration of) "drop" and "resize to" zones might help.

Edit: "the" to "this"; "it's" to "its"; added bullets to list list.