Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FancyZones dynamic layouts #370

Closed
PascalSenn opened this issue Sep 13, 2019 · 1 comment
Closed

FancyZones dynamic layouts #370

PascalSenn opened this issue Sep 13, 2019 · 1 comment
Labels
Idea-Enhancement New feature or request on an existing product Product-FancyZones Refers to the FancyZones PowerToy Resolution-Duplicate There's another issue on the tracker that's pretty much the same thing.

Comments

@PascalSenn
Copy link

Summary of the new feature/enhancement

A option to force windows always into the layout would be great. When a new Windows is opened the layout is extended.
All Windows would always be visible.

This would massively reduce the window chaos.
Combined with virtual desktops this would be a really slick workflow.

@enricogior enricogior added Product-FancyZones Refers to the FancyZones PowerToy Idea-Enhancement New feature or request on an existing product labels Sep 13, 2019
@enricogior enricogior added the Resolution-Duplicate There's another issue on the tracker that's pretty much the same thing. label Jun 4, 2020
@enricogior
Copy link
Contributor

Closing this in favor of #2694

ironyman pushed a commit to ironyman/PowerToys that referenced this issue Feb 17, 2025
Tested with the `command-line` tag, because there's no extensions in winget until microsoft/winget-pkgs#216685 merges

Also adds a link to search in the Store, though I think that won't be as useful. 

Lastly - also actually fixes the tag search 😅

Builds on microsoft#356
Closes microsoft#89
Probably needs microsoft#370 to feel right
ironyman pushed a commit to ironyman/PowerToys that referenced this issue Feb 17, 2025
Closes microsoft#370 

The DevHome code was great for "I need something that can lookup extensions and enumerate all of them".

However, the DevHome code is a very blunt hammer when it comes to extensions. The only thing it tracks is "packages changed", and if it gets one of those, it just blows away all the extensions and rebuilds them. Yikes. 

This PR changes `ExtensionService` to be a scalpel. We'll keep `_installedExtensions` fresh. When we get a package install, we'll add only that package's extension to our cache, and let the `TopLevelCommandManager` know. Similarly for updates and uninstalls. 

That way, we can exactly change the top-level list as needed, rather than bluntly forcing all the extensions to reload. 

In the middle of all this, I fixed a bug where uninstalling an extension, then reloading would just fail to load extensions. This is because the old code would clear out the **whole** list of extensions when _one_ was uninstalled. That created a race where we'd be parsing the new list of all the extensions (from the reload), get an uninstall event, clear the list, then InvalidOperation as the list of extensions was modified during enumeration. 

There's a bunch more locking in here. This might drive-by microsoft#324 but hard to be sure. 

Related to microsoft#89
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Idea-Enhancement New feature or request on an existing product Product-FancyZones Refers to the FancyZones PowerToy Resolution-Duplicate There's another issue on the tracker that's pretty much the same thing.
Projects
None yet
Development

No branches or pull requests

2 participants