diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 3db8087042..08bbc04c55 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -11,7 +11,7 @@ body: - type: input attributes: label: Microsoft PowerToys version - placeholder: 0.70.0 + placeholder: X.XX.X description: Hover over system tray icon or look at Settings validations: required: true diff --git a/.github/actions/spell-check/allow/names.txt b/.github/actions/spell-check/allow/names.txt index 84884b819c..44131fecfb 100644 --- a/.github/actions/spell-check/allow/names.txt +++ b/.github/actions/spell-check/allow/names.txt @@ -110,6 +110,7 @@ Lambson Laute laviusmotileng Leilei +Loewen Luecking Mahalingam Markovic diff --git a/.github/actions/spell-check/expect.txt b/.github/actions/spell-check/expect.txt index 7600e901ba..b688d6bae0 100644 --- a/.github/actions/spell-check/expect.txt +++ b/.github/actions/spell-check/expect.txt @@ -200,8 +200,7 @@ CLIPCHILDREN CLIPSIBLINGS closesocket CLSCTX -CLSIDs -Clsids +clsids Clusion cmder CMDNOTFOUNDMODULEINTERFACE @@ -1869,7 +1868,6 @@ wft wgpocpl WHEREID Wholegrain -WIC wic wifi wil @@ -1998,4 +1996,4 @@ zoomit ZOOMITX ZXk ZXNs -zzz \ No newline at end of file +zzz diff --git a/COMMUNITY.md b/COMMUNITY.md index 8b3d7035da..3e7cd6719e 100644 --- a/COMMUNITY.md +++ b/COMMUNITY.md @@ -16,7 +16,7 @@ Christian contributed New+ utility CleanCodeDeveloper helped do massive amounts of code stability and image resizer work. ### [@plante-msft](https://github.com/plante-msft) - Connor Plante -Connor was the creator of Workspaces and helped create PowerToys Run v2 +Connor was the creator of Workspaces and helped create Command Palette (PowerToys Run v2) ### [@damienleroy](https://github.com/damienleroy) - [Damien Leroy](https://www.linkedin.com/in/Damien-Leroy-b2734416a/) Damien has helped out by developing and contributing the Quick Accent utility. @@ -46,7 +46,7 @@ Jeff added in multiple new features into Keyboard manager, such as key chord sup Joe has helped triaging, discussing, issues as well as fixing bugs and building features for Text Extractor. ### [@joadoumie](https://github.com/joadoumie) - Jordi Adoumie -Jordi helped innovate amazing new features into Advanced Paste and helped create PowerToys Run v2 +Jordi helped innovate amazing new features into Advanced Paste and helped create Command Palette (PowerToys Run v2) ### [@jsoref](https://github.com/jsoref) - [Josh Soref](https://check-spelling.dev/) Helping keep our spelling correct :) @@ -57,6 +57,9 @@ Color Picker is from Martin. ### [@mikeclayton](https://github.com/mikeclayton) - [Michael Clayton](https://michael-clayton.com) Michael contributed the [initial version](https://github.com/microsoft/PowerToys/issues/23216) of the Mouse Jump tool and [a number of updates](https://github.com/microsoft/PowerToys/pulls?q=is%3Apr+author%3Amikeclayton) based on his FancyMouse utility. +### [@pedrolamas](https://github.com/pedrolamas/) - Pedro Lamas +Pedro helped create the thumbnail and File Explorer previewers for 3D files like STL and GCode. If you like 3D printing, these are very helpful. + ### [@PesBandi](https://github.com/PesBandi/) - PesBandi PesBandi has helped do massive amounts of Quick Accent and bug fixes. @@ -184,15 +187,10 @@ ZoomIt source code was originally implemented by [Sysinternals](https://sysinter - [@crutkas](https://github.com/crutkas/) - Clint Rutkas - Lead - [@cinnamon-msft](https://github.com/cinnamon-msft) - Kayla Cinnamon - Lead - [@nguyen-dows](https://github.com/nguyen-dows) - Christopher Nguyen - Product Manager -- [@jaimecbernardo](https://github.com/jaimecbernardo) - Jaime Bernardo - Dev lead +- [@craigloewen-msft](https://github.com/craigloewen-msft) - Craig Loewen - Product Manager - [@dhowett](https://github.com/dhowett) - Dustin Howett - Dev lead - [@yeelam-gordon](https://github.com/yeelam-gordon) - Gordon Lam - Dev lead - [@jamrobot](https://github.com/jamrobot) - Jerry Xu - Dev lead -- [@drawbyperpetual](https://github.com/drawbyperpetual) - Anirudha Shankar - Dev -- [@mantaionut](https://github.com/mantaionut) - Ionut Manta - Dev -- [@donlaci](https://github.com/donlaci) - Laszlo Nemeth - Dev -- [@SeraphimaZykova](https://github.com/SeraphimaZykova) - Seraphima Zykova - Dev -- [@stefansjfw](https://github.com/stefansjfw) - Stefan Markovic - Dev - [@lei9444](https://github.com/lei9444) - Leilei Zhang - Dev - [@shuaiyuanxx](https://github.com/shuaiyuanxx) - Shawn Yuan - Dev - [@moooyo](https://github.com/moooyo) - Yu Leng - Dev @@ -206,7 +204,7 @@ ZoomIt source code was originally implemented by [Sysinternals](https://sysinter - [@wang563681252](https://github.com/wang563681252) - Zhaopeng Wang - Dev - [@vanzue](https://github.com/vanzue) - Kai Tao - Dev -# Former PowerToys core team members +## Former PowerToys core team members - [@indierawk2k2](https://github.com/indierawk2k2) - Mike Harsh - Product Manager - [@ethanfangg](https://github.com/ethanfangg) - Ethan Fang - Product Manager @@ -219,3 +217,9 @@ ZoomIt source code was originally implemented by [Sysinternals](https://sysinter - [@taras-janea](https://github.com/taras-janea) - Taras Sich - Dev - [@yuyoyuppe](https://github.com/yuyoyuppe) - Andrey Nekrasov - Dev - [@gokcekantarci](https://github.com/gokcekantarci) - Gokce Kantarci - Dev +- [@drawbyperpetual](https://github.com/drawbyperpetual) - Anirudha Shankar - Dev +- [@mantaionut](https://github.com/mantaionut) - Ionut Manta - Dev +- [@donlaci](https://github.com/donlaci) - Laszlo Nemeth - Dev +- [@SeraphimaZykova](https://github.com/SeraphimaZykova) - Seraphima Zykova - Dev +- [@stefansjfw](https://github.com/stefansjfw) - Stefan Markovic - Dev +- [@jaimecbernardo](https://github.com/jaimecbernardo) - Jaime Bernardo - Dev lead diff --git a/README.md b/README.md index cc3ce10149..1a0d80dc00 100644 --- a/README.md +++ b/README.md @@ -101,7 +101,7 @@ In this release, we focused on new features, stability, and automation. ![Gif for Command Palette](doc/images/overview/CmdPal_Hero.gif) - - New module: Command Palette ("CmdPal") - Created as the evolution of PowerToys Run with extensibility at the forefront, Command Palette is a quick launcher with a richer display and additional capabilities without sacrificing performance, allowing you to start anything with the shortcut **Win+Alt+Space**! Thanks [@zadjii-msft](https://github.com/zadjii-msft), [@niels9001](https://github.com/niels9001), [@joadoumie](https://github.com/joadoumie), [@plante-msft](https://github.com/plante-msft), [@ethanfangg](https://github.com/ethanfangg) and [@krschau](https://github.com/krschau)! +- New module: Command Palette ("CmdPal") - Created as the evolution of PowerToys Run with extensibility at the forefront, Command Palette is a quick launcher with a richer display and additional capabilities without sacrificing performance, allowing you to start anything with the shortcut **Win+Alt+Space**! Thanks [@zadjii-msft](https://github.com/zadjii-msft), [@niels9001](https://github.com/niels9001), [@michael-hawker](https://github.com/michael-hawker), [@joadoumie](https://github.com/joadoumie), [@plante-msft](https://github.com/plante-msft), [@ethanfangg](https://github.com/ethanfangg) and [@krschau](https://github.com/krschau)! - Enhanced the Color Picker by switching from WPF UI to .NET WPF, resulting in improved themes and visual consistency across different modes. Thanks [@mantaionut](https://github.com/mantaionut)! Thanks [@Jay-o-Way](https://github.com/Jay-o-Way) and [@niels9001](https://github.com/niels9001) for helping with the review! - Added the ability to delete files directly from Peek, enhancing file management efficiency. Thanks [@daverayment](https://github.com/daverayment) and thanks [@htcfreek](https://github.com/htcfreek) for the review! - Added support for variables in template filenames, enabling dynamic elements like date components and environment variables for enhanced customization in New+. Thanks [@cgaarden](https://github.com/cgaarden)! @@ -112,7 +112,7 @@ In this release, we focused on new features, stability, and automation. ### Command Palette -- Introduced the Windows Command Palette ("CmdPal"), the next iteration of PowerToys Run, designed with extensibility at its core. CmdPal includes features such as searching for installed apps, shell commands, files and WinGet package installation. This module aims to provide a more powerful and flexible launcher experience. Thanks [@zadjii-msft](https://github.com/zadjii-msft), [@niels9001](https://github.com/niels9001), [@joadoumie](https://github.com/joadoumie), [@plante-msft](https://github.com/plante-msft), and the whole team! +- Introduced the Windows Command Palette ("CmdPal"), the next iteration of PowerToys Run, designed with extensibility at its core. CmdPal includes features such as searching for installed apps, shell commands, files and WinGet package installation. This module aims to provide a more powerful and flexible launcher experience. Thanks [@zadjii-msft](https://github.com/zadjii-msft), [@niels9001](https://github.com/niels9001), [@michael-hawker](https://github.com/michael-hawker), [@joadoumie](https://github.com/joadoumie), [@plante-msft](https://github.com/plante-msft), and the whole team! ### FancyZones diff --git a/doc/devdocs/UITests.md b/doc/devdocs/UITests.md index fea05f6b9e..b1b91a632c 100644 --- a/doc/devdocs/UITests.md +++ b/doc/devdocs/UITests.md @@ -88,4 +88,4 @@ namespace UITests_KeyboardManager ## Extra tools and information **Accessibility Tools**: -While working on tests, you may need a tool that helps you to view the element's accessibility data, e.g. for finding the button to click. For this purpose, you could use [AccessibilityInsights](https://accessibilityinsights.io/docs/windows/overview) \ No newline at end of file +While working on tests, you may need a tool that helps you to view the element's accessibility data, e.g. for finding the button to click. For this purpose, you could use [AccessibilityInsights](https://accessibilityinsights.io/docs/windows/overview). diff --git a/src/modules/cmdpal/Exts/Microsoft.CmdPal.Ext.TimeDate/Pages/TimeDateExtensionPage.cs b/src/modules/cmdpal/Exts/Microsoft.CmdPal.Ext.TimeDate/Pages/TimeDateExtensionPage.cs index bb5b58adb6..edcdb02e4b 100644 --- a/src/modules/cmdpal/Exts/Microsoft.CmdPal.Ext.TimeDate/Pages/TimeDateExtensionPage.cs +++ b/src/modules/cmdpal/Exts/Microsoft.CmdPal.Ext.TimeDate/Pages/TimeDateExtensionPage.cs @@ -4,6 +4,8 @@ using System; using System.Collections.Generic; +using System.Linq; +using System.Threading; using Microsoft.CmdPal.Ext.TimeDate.Helpers; using Microsoft.CommandPalette.Extensions; using Microsoft.CommandPalette.Extensions.Toolkit; @@ -12,6 +14,12 @@ namespace Microsoft.CmdPal.Ext.TimeDate.Pages; internal sealed partial class TimeDateExtensionPage : DynamicListPage { + private readonly Lock _resultsLock = new(); + + private IList _results = new List(); + + private bool initialized; + private SettingsManager _settingsManager; public TimeDateExtensionPage(SettingsManager settingsManager) @@ -24,20 +32,36 @@ internal sealed partial class TimeDateExtensionPage : DynamicListPage _settingsManager = settingsManager; } - public override IListItem[] GetItems() => DoExecuteSearch(SearchText).ToArray(); + public override IListItem[] GetItems() + { + if (!initialized) + { + DoExecuteSearch(string.Empty); + } + + lock (_resultsLock) + { + ListItem[] results = _results.ToArray(); + return results; + } + } public override void UpdateSearchText(string oldSearch, string newSearch) { + if (newSearch == oldSearch) + { + return; + } + DoExecuteSearch(newSearch); - RaiseItemsChanged(0); } - private List DoExecuteSearch(string query) + private void DoExecuteSearch(string query) { try { var result = TimeDateCalculator.ExecuteSearch(_settingsManager, query); - return result; + UpdateResult(result); } catch (Exception) { @@ -51,7 +75,18 @@ internal sealed partial class TimeDateExtensionPage : DynamicListPage ResultHelper.CreateInvalidInputErrorResult(), }; - return items; + UpdateResult(items); } } + + private void UpdateResult(IList result) + { + lock (_resultsLock) + { + initialized = true; + this._results = result; + } + + RaiseItemsChanged(this._results.Count); + } }