microsoft / PowerToys

Windows system utilities to maximize productivity
MIT License
111.18k stars 6.54k forks source link

FancyZones editor to allow custom zones for Win11 snapping #11792

Open mdtauk opened 3 years ago

mdtauk commented 3 years ago

Description of the new feature / enhancement

I know leaks wont be discussed, so this can wait until after June 24th but is there a chance that Fancy Zone layouts could be bubbled up into the new Hover on Maximise/Restore button UI to integrate Fancy Zone interaction with the OS?

image

Scenario when this would be used?

Whilst the OS code and Fancy Zones should be separate, maybe the OS could add support for reading from a user's App Data folder - and the PowerToy could be the Fancy Zone editor, for creating the layouts?

Supporting information

Just sharing a thought, but there is no Discussion section here :)

ghost commented 3 years ago

It would be cool if the FancyZones layout editor could be used to create/add, edit, remove and manage those layouts (custom ones and the ones built into Windows 11). It would be even more awesome if PowerToys would save the layouts somewhere in the Windows registry or in the user specific %AppData% folder (C:\Users\Username\AppData\Roaming), so that PowerToys does not need to be running in the background to use the custom layouts.

(I think such a functionality should even be a built in feature of the new Windows 11 so that third party applications are not needed. Maybe some Windows enthusiast will find the according registry tweaks and educate us all how to modify them.)

BTW: Microsoft's new function is pretty similar to my suggestion and other third party apps which enhance the snapping feature: https://github.com/microsoft/PowerToys/issues/7809

Wolverine1977 commented 3 years ago

Can Fancy zones be integrated into the Min/Maximize button on Windows 10? as an addition to using the keyboard shortcuts.

ghost commented 3 years ago

Yeah, integrating FancyZones into the Min/Maximize button on Windows 10 and 11 would be great.

When integrating this into the Min/Maximize button, please don't implement it like Microsoft in such a way that the zone selection appears on hover, because this is annoying. Instead, make the zone selection appear when a users clicks and holds (a.k.a. long click) the Min/Maximize button for a short moment (like 400 milliseconds or so).

An alternative of invoking this zone selector could be by right-clicking on the Min/Maximize button.

Another alternative would be to add a small triangle next to the Min/Maximize button (see mockup), so that the zone selector appears when a user clicks on this triangle (this is a very quick and rough mockup and needs further design refinement, of course, but I hope you get the idea).

triangle

ghost commented 3 years ago

To take the idea a step further... why don't taking the best of the two worlds (see below) and take FancyZones to a whole new level:

World 1: The zone selector that Microsoft implements in Windows 11 has a couple of major advantages over FancyZones:

  1. It shows the user multiple layouts at the same time so that the user does not have to switch between layouts in order to arrange the windows to screen zones -> He can move a windows to a zone from different layouts without the need to invoke such a thing like a layout switcher. In FancyZones, however, the user needs to use the layout switcher first. Only in the second step a user can then move a windows to a zone from a different layout.
  2. FancyZones displays the currently active layout on the whole screen, whereas the Microsoft selector only shows this rather small panel beneath the Min/Maximize button. This makes moving a window to a zone much faster because the mouse movement can be much shorter. And it also gives the user a better overview where the zones are, because they are not covered by the window that is being moved/dragged.

World 2: At the same time FancyZones has some advantages over the way Microsoft implements its zone selector:

  1. FancyZones has a layout/zone editor with many customization options.
  2. FancyZones allows for dragging a window over multiple zones (by holding down a modifier key) so that the window resizes to cover those multiple zones.

Suggestion: Bring those two worlds together.

Wolverine1977 commented 3 years ago

Or have the option of mouse over / right click / left click hold to activate the menu.

It would be nice to have options that are configurable for different users. PowerToys is shaping up to be really useful and awesome. Fancy Zones is my favorite app and gets used every day.

spcano01 commented 3 years ago

Has anyone found how to have different layouts for different virtual desktops? Worked flawlessly on W10 + Fancyzones, but now it only allows one layout for all desktops...

I use a LG CX48 as my monitor, and have slightly different layouts for work, personal, coding, and ADHD (50:50 side-by-side).

Just Control/Windows + left or right, it's just like Aladdin's "A whole new world". Until now, kinda no bueno. Windows 11 built-in allows for predefined different layouts & backgrounds, but I want my cake and eat it too, damnit. :D

hiringManager commented 3 years ago

Currently I have change desktop rebound to Alt+1 & Alt +2. My dream is to be able to have change desktop be on Win1, 2 3 4, since moving left and right is unnatural coming from other tiling window managers.

I would also like to be able to maintain gaps while dragging, so currently I have fancyzones disabled and I'm using the layout hover switch thing, since both together are problematic currently.

03c commented 3 years ago

Currently I have change desktop rebound to Alt+1 & Alt +2. My dream is to be able to have change desktop be on Win1, 2 3 4, since moving left and right is unnatural coming from other tiling window managers.

I would also like to be able to maintain gaps while dragging, so currently I have fancyzones disabled and I'm using the layout hover switch thing, since both together are problematic currently.

I have this setup using AHK with something similar to the following: https://gist.github.com/adriangonzalez/d4581b571d5edcb4e092a1cfe0cb903a

NicTanghe commented 3 years ago

Why not just remove fancy zones from powertoys and integrate it directly in Windows 11 ? It isn't really a power user feature in the first place.

crutkas commented 3 years ago

Tweaked the title a bit :)

crutkas commented 2 years ago

xref https://github.com/microsoft/PowerToys/issues/15028

NoStereo commented 2 years ago

I'm gonna chime in here in support for this. The default snaps in W11 are so laughably useless (depending on your monitor) they've ended up a gimmick so fanzyzones is the tool to use. That said, I'd likely create and use more layouts if there was a graphical interface to quickly use to select them. Replacing the functionality of W11's snap on the maximize button would be optimal. I also do agree that hovering should be replaced with both click and hold, and right clicking.

I can't remember yet another hotkey, not to mention the incredible amount that are taking up more and more keys using more and more modifiers.

AndrewBogdanovTSS commented 1 year ago

Will it be possible to use it in FZ + Win10?

highorbit-io commented 7 months ago

Looks like this died a slow death, right? How FancyZones isn't the default functionality for the O/S Snap Layouts, which can't be customized at all, is just bizarre.

But at the same time it's so typical of Microsoft to include something dumbed down just enough. File Explorer has entered the chat LOL!