Windows build number: 10.0.17134.1304
PowerToys version: 0.15.1
PowerToy module for which you are reporting the bug (if applicable): FancyZones
I was previously using version 0.14, but before installing version 0.15.1 I did uninstall PowerToys manually and then delete any configuration left in registry (HKCU\Software\SuperFancyZones) and on disk (%LocalAppData%\Microsoft\PowerToys).
In version 0.14 of PowerToys I would first apply a set of pre-defined layouts that I wanted to be able to quickly switch between, by doing the following steps:
Edit zones
, in the Templates
tab, select 2
as number of zones, select Columns
layout, and click Apply
.Edit zones
, in the Templates
tab, select 3
as number of zones, select Columns
layout, and click Apply
.Edit zones
, in the Templates
tab, select 4
as number of zones, select Columns
layout, and click Apply
.In version 0.14 of PowerToys I could use keyboard shortcut Win+Ctrl+2, Win+Ctrl+3 or Win+Ctrl+4 to activate one of the layouts that I previously had applied, as documented:
Win+Ctrl+<Number> | Cycles through saved layouts with the corresponding number of zones
E.g. Win+Ctrl+2 would flash the 2 zone columns layout, and I could snap windows to 2 zones. Then Win+Ctrl+3 would flash 3 zone columns layout which I then could snap windows to.
In version 0.15.1 Win+Ctrl+
I am not sure if it even was intended to work the way I used it in version 0.14, or what "saved layouts" is referring to exactly (perhaps only custom layouts or something). The user interface would not show which layouts I had applied and was available to cycle through, the only way to see was either to test it using the keyboard shortcut or to try to make sense of the configuration stored in registry.
I understand the storage of zone configuration has moved from registry to file. In previous version I could see my applied layouts being added as binary values below the HKCU\Software\SuperFancyZones\ScreenWidth_ScreenHeight key. In the new version I do not see any similar information being added to the zones-settings.json file.
Same, except with the previous version I could cycle through the different layouts with the less RSI-inducing Number [1, 2, 3] shortcuts as long as I had a window selected and Shift pressed. Now nothing works to cycle.
Linking related issue:
https://github.com/microsoft/PowerToys/issues/325
@crutkas
the way this feature was design is:
every time a layout is applied, it is added to the current desktop history and it will remain there forever. There is no way to remove it beside manually deleting the FZ settings.
When win+cntrl+number is pressed, the first layout with that "number" of zones is applied, pressing again the same win+cntrl+number will apply the next layout with that same number of zones (if there is any).
So if you have multiple layouts with the same number of zones you have to press the shortcut multiple times until the desired layout is selected.
This feature was created when FZ only had the legacy editor and at that time it made sense, but when the new editor was added, it wasn't updated to provide a consistent experience to the user.
So custom layouts were also added to the desktop history and left there forever, even after being deleted in the editor:
https://github.com/microsoft/PowerToys/issues/1179
https://github.com/microsoft/PowerToys/issues/1069
When the FZ settings were migrated to the json file, we fixed the problem with the deleted custom zones but we end up breaking the feature.
Fixing the feature to just remove the custom zones from the desktop history doesn't seem like a real fix. The problem here is the design of the feature that still doesn't provide a way for the users to really configure it as they want it and since all applied templates cannot be removed, it can become really frustrating at the point that many users will simply avoid using this feature in the first place.
One possible solution, that doesn't require too much UI work to make it usable, would be:
That should provide enough flexibility to make the feature useful and it can be done without too many changes in the code.
Adding ref to "FanzyZone Custom Layout hotkeys" https://github.com/microsoft/PowerToys/issues/1411
@enricogior
Yes, that's exactly how I assumed the feature would work. [like described in the bulletpoints]
I've started using PowerToys after the legacy editor and I had no idea what it did instead, except that it somehow involved the Templates-layout (which aren't mine, so irrelevant) and was on top of that completely unpredictable.
If the feature was implemented like that, it would also make a lot of sense to (eventually):
@enricogior disable feature, and work on fixing for 0.17
this is a multi-monitor aware editor feature. Talking with @enricogior, we need to think about this as part of that. #1032 is the tracking item for the larger bucket of work
@albertony @jstaro Hey everyone, I'm currently working on a feature to implement Hotkeys to quickly switch between FancyZones custom layouts, and would love to get your feedback! If you're interested, please fill out this 3-min form.
Feedback from anyone else who would need such a feature is welcome as well.
Option 2 means I can assign a single hotkey that will change to an individual layout for every screen, e.g. a 2-zone layout on screen A and 3-zone layout on screen B?
An alternate new feature in FancyZones would allow you to assign a hotkey to a a preset of layouts across all your displays (see image). You would then be able to change your entire workspace's layout by pressing the hotkey. How likely is is that you use this feature?
@albertony
That's how I interpreted it as well. A Meta-Layout.
I considered suggesting it myself at some point, but I can't keep track anymore what's already been suggested and what hasn't.
Don't care about it personally anymore, as I think I'm over multi-monitors since having an absurdly 32:9 49incher filling my whole field of vision on its own.
Option 2 means I can assign a single hotkey that will change to an individual layout for every screen, e.g. a 2-zone layout on screen A and 3-zone layout on screen B?
Yes, this is exactly what I meant.
Going to move everything to #1411 for hotkey for FZ
Most helpful comment
@crutkas
the way this feature was design is:
every time a layout is applied, it is added to the current desktop history and it will remain there forever. There is no way to remove it beside manually deleting the FZ settings.
When win+cntrl+number is pressed, the first layout with that "number" of zones is applied, pressing again the same win+cntrl+number will apply the next layout with that same number of zones (if there is any).
So if you have multiple layouts with the same number of zones you have to press the shortcut multiple times until the desired layout is selected.
This feature was created when FZ only had the legacy editor and at that time it made sense, but when the new editor was added, it wasn't updated to provide a consistent experience to the user.
So custom layouts were also added to the desktop history and left there forever, even after being deleted in the editor:
https://github.com/microsoft/PowerToys/issues/1179
https://github.com/microsoft/PowerToys/issues/1069
When the FZ settings were migrated to the json file, we fixed the problem with the deleted custom zones but we end up breaking the feature.
Fixing the feature to just remove the custom zones from the desktop history doesn't seem like a real fix. The problem here is the design of the feature that still doesn't provide a way for the users to really configure it as they want it and since all applied templates cannot be removed, it can become really frustrating at the point that many users will simply avoid using this feature in the first place.
One possible solution, that doesn't require too much UI work to make it usable, would be:
That should provide enough flexibility to make the feature useful and it can be done without too many changes in the code.
Adding ref to "FanzyZone Custom Layout hotkeys" https://github.com/microsoft/PowerToys/issues/1411