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

Added PowerLauncher spec and images #1109

Merged
merged 14 commits into from
Feb 12, 2020
Merged

Conversation

jyuwono
Copy link
Contributor

@jyuwono jyuwono commented Jan 17, 2020

Summary of the Pull Request

Adding PowerLauncher spec and images under doc/specs/images/PowerLauncher/.

this is for Issue #44

We'll be closing feedback here 1/29/2020

@jyuwono jyuwono requested a review from crutkas January 17, 2020 17:31
@jyuwono jyuwono marked this pull request as ready for review January 17, 2020 17:35
@crutkas
Copy link
Member

crutkas commented Jan 17, 2020

[removed broken link]

@enricogior
Copy link
Contributor

Just making sure all new contributors are aware of Github Workflow indication:

Use the Squash and merge option to merge a PR, if you don't want to squash it because there are logically different commits, use Rebase and merge.

Thank you.

doc/specs/44-PowerLauncher.md Outdated Show resolved Hide resolved
doc/specs/44-PowerLauncher.md Outdated Show resolved Hide resolved
doc/specs/44-PowerLauncher.md Outdated Show resolved Hide resolved
@jyuwono
Copy link
Contributor Author

jyuwono commented Jan 21, 2020

[Edited link to point to wiki]
To view the spec, the link is
https://github.com/microsoft/PowerToys/wiki/Launcher

@jyuwono jyuwono requested a review from crutkas January 21, 2020 17:25
@Kaedin
Copy link

Kaedin commented Jan 22, 2020

How about checking and including 'ueli' (https://github.com/oliverschwendener/ueli) in the comparison matrix as well? 😊

@ghosttie
Copy link

Another app to compare (from back in the day 👴) AppRocket 🚀

@crutkas
Copy link
Member

crutkas commented Jan 22, 2020

@Kaedin, does ueli provide something other than maybe xplat that our matrix currently doesn't? Looked very close to Wox. A comment somewhere made me think it runs electron under the hood

doc/specs/QuickLauncher.md Outdated Show resolved Hide resolved
@fdncred
Copy link

fdncred commented Jan 23, 2020

Oh, please don't create this with an indexer. That's all I need on my system is another indexer. How about something that queries the MFT like voidtools' Everything. There's even an open source clone of this technique.

@crutkas crutkas mentioned this pull request Jan 23, 2020
@PastorGL
Copy link

Hey @jyuwono,

Win+Space hotkey by default is a bad choice for international users as it is already assigned to the input language switcher. It's better to choose something that doesn't clash.

@jyuwono
Copy link
Contributor Author

jyuwono commented Jan 25, 2020

Hey @jyuwono,

Win+Space hotkey by default is a bad choice for international users as it is already assigned to the input language switcher. It's better to choose something that doesn't clash.

Good call out, thank you @PastorGL! I've changed the hotkey default to Alt+Space in the spec, and it can still be customized through the settings page.

@JosephTico
Copy link

JosephTico commented Jan 25, 2020

I would also suggest to take some lessons from the beta version of Listary.

Some features I really like is that you can quick select a result by using a Ctrl+Number shortcut:

image

Also having to press Shitf+F10 to open the context menu doesn't seem to intuitive for me, a better solution would be to open it by just pressing the Right arrow key. Also Listary (beta) does the context incredibly well as it loads all the options that selecting a file in Explorer would have:

image
image

@crutkas
Copy link
Member

crutkas commented Jan 25, 2020

Hey @jyuwono,
Win+Space hotkey by default is a bad choice for international users as it is already assigned to the input language switcher. It's better to choose something that doesn't clash.

Good call out, thank you @PastorGL! I've changed the hotkey default to Alt+Space in the spec, and it can still be customized through the settings page.

Needs to be a winkey. We should call this out / make it configurable. Let’s see maybe if we can detect the winkey+space conflict.

@PastorGL
Copy link

@jyuwono
Alt+Space is equally bad because it is a current-window system menu shortcut since early Windows versions.

@crutkas
There is a list at https://support.microsoft.com/en-us/help/12445/windows-keyboard-shortcuts — looks like almost all Winkey shortcuts are assigned already. Win+\ (backward slash) is the only unused chord on the main keyboard area.

@LoZeno
Copy link

LoZeno commented Jan 27, 2020

@JosephTico

Also having to press Shitf+F10 to open the context menu doesn't seem to intuitive for me, a better solution would be to open it by just pressing the Right arrow key.

Shift+F10 is consistent with the rest of the OS though, as it's the key combination to open the context menu basically everywhere.

@crutkas
Copy link
Member

crutkas commented Jan 27, 2020

@JosephTico

Also having to press Shitf+F10 to open the context menu doesn't seem to intuitive for me, a better solution would be to open it by just pressing the Right arrow key.

Shift+F10 is consistent with the rest of the OS though, as it's the key combination to open the context menu basically everywhere.

Yup, why we picked Shift-F10. the keyboard context menu button would work as well.

@zspitz
Copy link

zspitz commented Jan 28, 2020

When the system has multiple keyboard layouts installed, map the entered text to the keys pressed, and search for the same key presses across keyboards.

For example, when the standard Hebrew keyboard is active, pressing the keys code results in the entered text בםגק. This could be mapped back for the Hebrew keyboard to code, and both terms (בםגק and code) would be searched for.

@crutkas
Copy link
Member

crutkas commented Jan 28, 2020

@zspitz this is something we will investigate. I love the idea, now to see how we pull it off :)

@crutkas
Copy link
Member

crutkas commented Jan 28, 2020

@LoZeno that is a must have in the spec, it is 21

21 For multiple monitors, the interface should follow where the mouse cursor is located 1

@jyuwono
Copy link
Contributor Author

jyuwono commented Feb 4, 2020

How about checking and including 'ueli' (https://github.com/oliverschwendener/ueli) in the comparison matrix as well? 😊

@Kaedin I've tried Ueli and added it to the comparison table. Is there any feature that you really like from Ueli?

@jyuwono
Copy link
Contributor Author

jyuwono commented Feb 4, 2020

Another app to compare (from back in the day 👴) AppRocket 🚀

@ghosttie Since AppRocket is replaced by Skylight, I tried Skylight instead and it has a different experience than other launchers that I've explored. I'm curious, anything that stood out to you in AppRocket/Skylight that should be added in the launcher?

@jyuwono
Copy link
Contributor Author

jyuwono commented Feb 4, 2020

I would also suggest to take some lessons from the beta version of Listary.

Some features I really like is that you can quick select a result by using a Ctrl+Number shortcut:

Also having to press Shitf+F10 to open the context menu doesn't seem to intuitive for me, a better solution would be to open it by just pressing the Right arrow key. Also Listary (beta) does the context incredibly well as it loads all the options that selecting a file in Explorer would have:

Thanks for the feedback, @JosephTico! Love the idea of Ctrl+Number shortcut. I've added it in the spec (user experience requirement no. 27 and keyboard shortcut requirement no. 9). I've also added your suggestion to have options in context menu to mimic file explorer (user experience requirement no. 37).

@ghosttie
Copy link

ghosttie commented Feb 4, 2020

@jyuwono I actually much preferred AppRocket to Skylight - AppRocket just launched apps whereas Skylight was a much more ambitious project to let you do a lot more through that kind of interface, and I didn't like that it was slower in exchange for features I didn't really want.

So I guess my most important features from AppRocket would be

  1. speed
  2. clever algorithm (frecency?) to figure out my most likely match based on only a few keystrokes
  3. it included the first letter of words in a shortcut rather than just a "contains" search, so even if the shortcut said "Internet Explorer", searching for "ie" would find it

@jyuwono
Copy link
Contributor Author

jyuwono commented Feb 4, 2020

@HikaruSora great suggestions! 😊

Search Mode

A search-mode feature, similar to what something like Visual Studio Code uses (whatever they call it), might be worth considering. For context, I'm referring to the ability to search by a specific class of thing much like how VSCode's Ctrl+P opens up the palette for file search, Ctrl+Shift+P for command search, and Ctrl+Shift+O for symbol search. Users can change the mode by starting the query with a particular symbol (for example, Ctrl+P opens up the entry field empty but starting the search with > changes it to command search).

An example in the scope of PowerLauncher: users looking for files specifically and may not want to be bombarded by apps or commands which have similar names. Similarly, perhaps they're looking only for the results coming from a particular plugin (file search vs image search vs web search vs command search vs ....) and want to reduce noise in the list.

I've added this suggestion to the spec (user experience requirement no. 29).

Copy as Path

A common workflow my colleagues and I do is to open explorer, find the target file, Shift+Right Click it, and Copy as path for pasting into whatever command we have in an open PowerShell or CMD window.

Having the corresponding option in PowerLauncher's context menu would pair nicely with the file search functionality: Fuzzy Find File -> Context Menu -> Copy as path rather than Fuzzy Find File -> Context Menu -> Open File Location (?) -> Shift+Right Click -> Copy as Path

Additionally, having a keyboard shortcut like Ctrl+Shift+C to directly copy the focused result's file path to the clipboard would be a plus

We can integrate this feature in V1 and add it as a part of the context menu as well. I've added this as priority 1 in the spec (user experience requirement no. 21-22 and keyboard shortcut requirement no. 3).

Preview

I saw Niels's Fluent Design mockup of the launcher and it looks fantastic. However, looking at it and comparing to WoX and the other 3rd party launchers, I came to realize that one of the big things that they tend to lack is some sort of preview pane like macOS's Spotlight or another launcher, Cerebro. Having a preview makes it easier to check if a particular result indeed contains the information and provides some additional context that can't fit in a single result entry.

This is a good idea but we will need to do more investigation to make sure that performance to show search result is not affected. I've added it to the user experience requirement (no. 38).

Result Density

From requirement 13,

Users can see the icon of the application/file/folder next to the application/file/folder name

there's no mention about the actual icon size. The mockup and alternate launchers imply that it would be as tall as the result entry and I can't help but think that there should be the option for... the opposite, actually. The nice big results with their icons look really pretty but reduces the number of items that can be displayed at a given time. There's mention of changing text size in Settings requirement 9 but nothing about the icon nor collapsing a result into a single line.

It seems appropriate to give users the option to increase density, perhaps to something around the size of Spotlight's results, to tilt it towards the Function side of the Function vs Form tradeoff. These are power users, after all. A dense, small/no-icon, no-nonsense view mode would match some of them better. It may not fit well with the Fluent Design concept but, well, you might be tossing them directly into PowerShell anyways. 😛

We're planning to give users the ability to customize font colour, font size, and general theme of the launcher in future versions. We can add customizing icon to the list as well. I've added this to settings requirement (no. 12).

@jyuwono
Copy link
Contributor Author

jyuwono commented Feb 4, 2020

When the system has multiple keyboard layouts installed, map the entered text to the keys pressed, and search for the same key presses across keyboards.

For example, when the standard Hebrew keyboard is active, pressing the keys code results in the entered text בםגק. This could be mapped back for the Hebrew keyboard to code, and both terms (בםגק and code) would be searched for.

@zspitz This is a fantastic suggestion. I've added it to the user experience requirement (no. 28). Our dev team will investigate how this can be done.

@keichinger
Copy link

From @PastorGL

There is a list at support.microsoft.com/en-us/help/12445/windows-keyboard-shortcuts — looks like almost all Winkey shortcuts are assigned already. Win+\ (backward slash) is the only unused chord on the main keyboard area.

As a German user whenever I see an app using the hotkey Win+\ I have to remap it to a different key as this key simply doesn't work with a German keyboard layout. Whenever we want to write a \ we have to press CTRL+ALT+ß (that key shares the ? and \ characters) - see https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/KB_Germany.svg/1920px-KB_Germany.svg.png for reference in the top right corner (one key to the right of the 0).

In my opinion it's better to spend some time researching in trying to find a localized hotkey (in case WIN+Space doesn't work - I would totally love that hotkey as a work macOS user myself) that works everywhere, that is easy to remember and fast to use, ideally with only two keys (just like WIN+.).

@ismaelestalayo
Copy link

How about checking and including 'ueli' (https://github.com/oliverschwendener/ueli) in the comparison matrix as well? 😊

@Kaedin I've tried Ueli and added it to the comparison table. Is there any feature that you really like from Ueli?

I tried Ueli a few months back, and there were two really nice features that would love to see in the PowerLauncher:

  • Staring a query with ">" put you in like a "Terminal mode", where whatever you put would be ran on a integrated terminal below the search box. (In this case it could open a new window of the new Windows Terminal with the command from the search box)

  • You had the ability to define custom commands to search directly on Youtube, Wikipedia, StackOverflow... so doing a query for "yt kittens" would directly open that query on Youtube in your main browser.

@crutkas crutkas added the Issue-Docs Documentation issue that needs to be improved label Feb 12, 2020
@jyuwono jyuwono merged commit 49fa1b6 into microsoft:master Feb 12, 2020
@crutkas
Copy link
Member

crutkas commented Feb 14, 2020

This spec is now in our wiki. https://github.com/microsoft/PowerToys/wiki/Launcher

udit3333 pushed a commit to udit3333/PowerToys that referenced this pull request Feb 19, 2020
* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options
udit3333 pushed a commit to udit3333/PowerToys that referenced this pull request Feb 19, 2020
* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options
udit3333 pushed a commit to udit3333/PowerToys that referenced this pull request Feb 20, 2020
* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options
udit3333 pushed a commit to udit3333/PowerToys that referenced this pull request Feb 20, 2020
* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options
udit3333 pushed a commit to udit3333/PowerToys that referenced this pull request Feb 20, 2020
* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options
udit3333 pushed a commit to udit3333/PowerToys that referenced this pull request Feb 20, 2020
* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options
udit3333 pushed a commit that referenced this pull request Feb 20, 2020
* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options
@jyuwono jyuwono deleted the PowerLauncher branch March 3, 2020 03:01
arjunbalgovind added a commit to arjunbalgovind/PowerToys that referenced this pull request Mar 3, 2020
* added the helper functions

* localized dllmain powerrename

* localized powerRenameExt

* localized the settings file

* built the proj

* Modified resourceIDs for strings in the table

* added common as a reference project

* Removed get_res_string_wchar and used the get_resource_string() function instead which returns a wstring typecast into wchar*

* Added new lines to the end of the file

* Removed string resources from the settings.cpp file

* rebuilt project PowerRename

* moved app name to constructor to init only once

* updated formatting of common.cpp

* reverting formatting of files

* Removed some IDs from resource file. Changed SHIFT to Shift

* Localizing C# Project of FancyZones (FancyZonesEditor) (microsoft#199) (microsoft#1122)

* removed hardcoded strings from CanvasEditorWindow.xaml

* removed hardcoded strings from GridEditorWindow.xaml

* loc

* Localized MainWindow

* reverting MainWindow.xaml as it is not rendering the window as expected

* Changed the resource settings from internal to public

* the culture is set based on the culture of the system UI set in the system settings

* Removed the french resource files used for testing

* Localized canvasWindow and mainwindow

* Removed setting the UI culture explicitly as it would be implicitly set to the culture of system UI

* Removed redundant header file

* Localize the Shortcut guide PowerToy (microsoft#199) (microsoft#1126)

* Localized shortcut_guide.cpp

* localized overlay_window.cpp

* formatting changes

* Localize overlay window

* removed the README link from the set of localized resources

* Typo: changed upper to lower

* Localize C++ Projects of FancyZones (microsoft#1130)

* localized dllmain.cpp  of fancyzones project

* localized FancyZones.cpp

* format fancyzones.rc file

* Moved SuperFancyZones back to being a string instead of having it in the resource file as it is the window class name

* reverted changes for window name

* Formatted fancyzones rc file

* Align zone dimensions from layout preview with those from grid editor (microsoft#1115)

* MSIX: add a dedicated .rc for UWPUI which joins both UI and DLL .rc's (microsoft#1139)

* Runner: fix restarting with same elevation (microsoft#1133)

* MSIX: reinstall script uses bundle instead of .msi to be able to reinstall in all cases

* Changes for microsoft#1140 and microsoft#569 (microsoft#1152)

* Settings: initialize COM security to allow communication between elevated Settings and WebView

* Common: implement on_scope_exit helper and typed_storage

* Telemetry: add WebView init failure errors

* MSIX build instructions adjustmnet (microsoft#1170)

* MSIX: update identity name and publisher (microsoft#1176)

* MSIX: hide the "Run at Startup" option if running as packaged

* Runner: fix startup task state setting for MSIX (microsoft#1181)

* Import the source code for Window Walker (microsoft#1177)

Import the codebase for Window Walker 

- Not loaded into the module list 
- Not added it to the installer list.

* Adding KeyManager spec (microsoft#1112)

* Adding KeyManager spec

* adding req changes

* req changes

* changed wording

* md edits

* edit md

* Update doc/specs/KeyboardManager.md

Co-Authored-By: Jeroen van Warmerdam <[email protected]>

* further edits

* Update KeyboardManager.md

* Update KeyboardManager.md

Co-authored-by: Jeroen van Warmerdam <[email protected]>

* Update README.md (microsoft#1198)

* Fancyzones: unify window filtering (microsoft#1184)

Makes FancyZone use the same code for filtering windows when windows are
being dragged and when moved by WinKey + arrows.

* MSIX: fix uninstallation from msix_reinstall and split the scripts (microsoft#1183)

* MSIX: implement initial version of notifications library (microsoft#1178)

* FancyZones: allow windows with invisible or zero-sized owner to be zonable (microsoft#1216)

* FancyZones: filter out WM_POPUP windows if they dont have maximize/minimize button or a sizable frame (microsoft#1212)

This filters out TaskView and Win32 menus.

* FancyZones: if window is not interesting, allow Windows snap (microsoft#1186)

Do not swallow WinKey+Arrow events for non-interesting windows. This makes apps that are in the "excluded apps" list behave as if "Override windows snap keys" is disabled - they will react to the Windows default snap.

* Common: remove hwnd_data_cache (microsoft#1223)

The cache was introduced to improve performance by not querying the
OS for the window process path every time we need to check if the window
is interesting to FancyZones. Since then other changes were made to the
the way we check the windows. Right now, the IsInterestingWindow function is
called when:

  1) WinKey + arrows are used
  2) window is started to be dragged
  3) window is created

1) and 2) are initiated by the user, happen only once per interaction so
their performance impact can be dismissed. The 3) happens all the time
but for the most part the check for WS_CHILD or
GetAncestor(window, GA_ROOT) == window will filter those out. In the
end, only top-level windows will be queried for their path.

Removing the cache improves code readability and will make code
maintenance easier.

* MSIX: keep PowerRename local COM server in memory (microsoft#1222)

* ShortcutGuide, FancyZones: split window filtering (microsoft#1225)

Splits the code use to filter windows for FancyZones and the
"active window" for the ShortcutGuide. The FancyZones logic is preserved
and merged into a single function. We keep it in common.h, as it might
be also used in other PowerToys, like maximized to new desktop. We do
however change the return type to be more descriptive. It also returns
a separate flag for if the window has a visible owner. This can be used
to implement the approved apps list.

For the ShortcutGuide, the logic is relaxed to include more windows. One
example are Explorer properties windows. Those are (and should) filtered
by the FancyZones, but should appear in the window preview in the SCG.

The new return type also includes information if the window will react
to the default Windows Snap. This is not ideal though. Currently, SCG
can only disable the entire "Windows Controls" group. OTOH windows like
"Save As..." dialogs can be snapped to corners etc., but cannot be
minimized nor maximized. Until SCG can separately disable those buttons
we will display the buttons in the enabled state only if the window
supports all settings. In the future, we should integrate FancyZones
snap override here too.

* Update MSIX Readme with sideloading steps (microsoft#1237)

* Small English grammer issue "in the desktop" -> "on the desktop" (microsoft#1238)

Small English grammer issue "in the desktop" -> "on the desktop"

* sln: fix project dependency order (microsoft#1249)

* Migrate FancyZones data persisting from Registry to JSON file (microsoft#1194)

* Migrate FancyZones data persisting from Registry to JSON file

* Address PR comment: Remove redundant check

* Addres PR comment: Remove unused Dpi and add CmdArgs enum

* Address PR comment: Make methods const and inline

* Address PR comments: Expose GenerateUniqueId function and use const ref instead of passing wstring by value

* Address PR comment: Use lamdba as callback

* Address PR comment: Move GenerateUniqueId to ZoneWindowUtils namespace

* Address PR comment: Use regular comparison instead of std::wstring::compare

* Address PR comment: Use std::wstring_view for tmp file paths

* Address PR comment: Use scoped lock when accessing member data

* Address PR comment: Remove typedefs to increase code readability

* Address PR comment: removed nullptr checks with corresponding tests

* Address PR comment: Move ZoneSet object instead of copying

* Address PR comment: Make FancyZonesData instance const where possible

* Remove unnecessary gutter variable during calculating zone coordinates

* Remove uneeded subclass

* Avoid unnecessary copying and reserve space for vector if possible

* Save FancyZones data after exiting editor

* App zone history (#18)

* added window and zone set ids to app zone history

* Rename JSON file

* Remove AppZoneHistory migration

* Move parsing of ZoneWindow independent temp files outside of it

* Unit tests update (#19)

* check device existence in map
* updated ZoneSet tests
* updated JsonHelpers tests

* Use single zone count information

* Remove uneeded tests

* Remove one more test

* Remove uneeded line

* Address PR comments - Missing whitespace

* Update zoneset data for new virtual desktops (microsoft#21)

* update active zone set with actual data

* Introduce Blank zone set (used to indicate that no layout applied yet). Move parsing completely outside of ZoneWindow.

* Fix unit tests to match modifications in implementation

* Fix applying layouts on startup (second monitor)

Co-authored-by: vldmr11080 <[email protected]>
Co-authored-by: Seraphima <[email protected]>

* Fix crash when saving any module settings while module being disabled (microsoft#1259)

* Unit-tests fixes (microsoft#1265)

* fixed typecast warnings
* removed unneded tests

* Persist app zone history in real time (microsoft#1257)

* save settings every time changes are performed
* settings are not saved on app exit

* Set the rename button to the default button on the dialog. Prior to this change, users would setup the rename inputs and hit return only to discover the cancel button had the key focus and all work would be lost. (microsoft#1271)

* Add design change request for improvements in virtual desktops handling (microsoft#1270)

* Add telemetry event for general settings (microsoft#1269)

* telemetry for general settings

* Update FancyZones telemetry event for settings changed (microsoft#1268)

* Update FancyZones-DCR.md (microsoft#1280)

* removing done specs to wiki (microsoft#1276)

* Added PowerLauncher spec and images (microsoft#1109)

* Added PowerLauncher spec and images

* Fixed images path

* Addressed review comments

* Fixed images

* Addressed review comments, and added link to keyboard shortcut manager PowerToy

* Added Ueli in comparison table

* Added keyboard input element

* Added suggestions from community

* Moved default shell and terminal settings

* Addressed feedback

* Added community suggestion

* Modified spec based on feedback

* Modified spec based on suggestions

* Added keyboard shortcuts to context menu options

* Add telemetry event for PowerRename settings  (microsoft#1279)

* moved MAX_INPUT_STRING_LEN constant
* added settings changed event log

* MSIX: add missing dependencies for the FancyZonesEditor (microsoft#1298)

* moving stuff to wiki (microsoft#1302)

* Thread safety for FanncyZonesData (microsoft#1281)

* FancyZones: make FancyZonesData thread-safe

* fixup: format affected sources

* fixup: clang-format case-style and format FancyZones.cpp

* fixup! add missing lock

* PowerRename: bring the rename dialog to foreground

* MSIX: do not kill explorer.exe, since it's only necessary for the MSI version

* Add telemetry event for FZ editor (microsoft#1294)

* trace zones settings changes

* Introduce handling of new/old work areas (microsoft#1296)

* Introduce handling of new/old work areas (defined by virtual desktop id and monitor)

* Save data to JSON storage only once after we register all deleted virtual desktops

* Update saving mechanism

* Remove resolution from unique identifier

* Update comments related to new unique identifier

* Don't handle NULL GUID as it is default one

* Revert "Remove resolution from unique identifier"

This reverts commit 5a36651.

* Revert "Update comments related to new unique identifier"

This reverts commit 8e89802.

* removed MigrateDeviceInfoFromRegistry

Co-authored-by: Seraphima Zykova <[email protected]>

* MSIX: prompt and uninstall MSI PT version (microsoft#1248)

* v1 spec (microsoft#1275)

* v1 spec, from here we'll create a roadmap much like Terminal.  (https://github.com/microsoft/terminal/blob/master/doc/terminal-v1-roadmap.md)

* adding in more issue xref links

* add in UX migration time

* Update v1.0.md

* Update v1.0.md

* Update v1.0.md

* Update v1.0.md

* moving to https://github.com/microsoft/PowerToys/wiki/Version-1.0-Strategy (microsoft#1315)

* "Always run as administrator" and "Restart as ..." only for administrator account (microsoft#1318)

* Setup: sign PowerRenameExt.dll (microsoft#1313)

* runner: fix Restart as... option

* settings: fix general settings hanging on save for a non-admin user

* settings: remove Restart as a user button in an elevated context (microsoft#1328)

* settings: add a clarifying label if running as elevated (microsoft#1330)

* Adding in HitTester App

* bug fix

* Runner check for MSI and MSIX (microsoft#1345)

* Add startup check for the MSI version of PT

* Alert if another instance of PowerToys is already running

* MSIX is "Experimental" (microsoft#1348)

* tools: add tool to debug FancyZones zonable windows (microsoft#1355)

Uses FancyZones logic to test if window is zonable or not. Displays
window styles and results for various tests if the window should be
zonable or not.

* [CDPx] update SDK, restore telemetry, build MSIX (microsoft#1358)

* Removed FancyZones unit-test  (microsoft#1360)

* Swallow shift keyboard event when dragging window (microsoft#1362)

* [CDPx] update nuget feed (microsoft#1364)

* Revert "Swallow shift keyboard event when dragging window (microsoft#1362)" (microsoft#1363)

This reverts commit 2f9b753.

* [CDPx] remove nuget.config and update restore script (microsoft#1370)

* [CDPx] fix for makeappx, update SDK for MSI (microsoft#1373)

* common: always use 0 for build number and make get_product_version return "vX.X.X"

* runner: periodically check if there's a new version available on github and offer a visit

* Now updater is comparing versions instead of comparing thier strings

* notifications: add support for unpackaged apps and protocol activation

* increment version to 0.15 🎉

* Change Windows Store to Microsoft Store in README (microsoft#1369)

The Windows Store was renamed to the Microsoft Store back in 2017, best to keep things up-to-date to avoid potential confusion.

* Update BinSkim exclude list (microsoft#1377)

* Fix typo in powerrenamer README (microsoft#1378)

* wix: add missing libs for FZ editor

* Secure acces from multiple threads to JSONHelpers (add missing lock) (microsoft#1375)

* adding preview tag for desktop and start menu (microsoft#1384)

* [CDPx] sign MSIX package and bundle (microsoft#1389)

* [CDPx] remove 'signing_options' for package (microsoft#1390)

A global signing option is already defined.

* [CDPx] use explicit filenames for the MSIX assets (microsoft#1393)

Approved

* [CDPx] move build script out of .pipeline (microsoft#1394)

* Update pipeline.user.windows.yml (microsoft#1398)

* wix: add (Preview) for MSI product name

* [CDPx] archive symbols to Symbol Server (microsoft#1407)

* build break, seeing if this was root case

* Skip cloning device information from parent virtual desktop if it is deleted. (microsoft#1415)

* Update README.md (microsoft#1412)

* Changed default enable setting

* 0.15 update to readme to master (microsoft#1408)

* Getting ready for v0.15 update for readme.

* getting ready for 0.15

* spelling tweak

* filled in update section

* fixed spelling mistakes

* updating to what POR is

* Update README.md

* Update README.md

* adding back in MSI

* getting readme ready for 0.15

* tweaks

* adding oss to oss links

* fixing links

* tweaking file names

* Update README.md

* Update README.md

* Update README.md

fixing typo

* Update README.md

* Sanity check for imported settings that may have invalid data. (microsoft#1426)

* Fix migrating never applied custom zonesets (microsoft#1427)

Co-authored-by: Alekhya  <[email protected]>
Co-authored-by: vldmr11080 <[email protected]>
Co-authored-by: Andrey Nekrasov <[email protected]>
Co-authored-by: Bartosz Sosnowski <[email protected]>
Co-authored-by: Clint Rutkas <[email protected]>
Co-authored-by: Enrico Giordani <[email protected]>
Co-authored-by: Betsegaw Tadele <[email protected]>
Co-authored-by: sakariya <[email protected]>
Co-authored-by: Jeroen van Warmerdam <[email protected]>
Co-authored-by: Scott Hanselman <[email protected]>
Co-authored-by: stefansjfw <[email protected]>
Co-authored-by: Seraphima Zykova <[email protected]>
Co-authored-by: Chris Davis <[email protected]>
Co-authored-by: Jessica Yuwono <[email protected]>
Co-authored-by: Yevhenii Holovachov <[email protected]>
Co-authored-by: PrzemyslawTusinski <[email protected]>
Co-authored-by: TorchGM <[email protected]>
@BillR5GitHub
Copy link

Note, in the community poll sometimes cited as the reason to close threads objecting to Alt+Space as the default shortcut for Run , Alt+Space received 2 of 16 votes (tied for 3rd) #5331 (although I don't think the poll was well-structured).
Result: https://www.strawpoll.me/20785284/r

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Docs Documentation issue that needs to be improved
Projects
None yet
Development

Successfully merging this pull request may close these issues.