From 4f0c8f476a13917f567fc6e18c6dd2257efb4520 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Pol=C3=A1=C5=A1ek?= Date: Sat, 7 Mar 2026 20:21:39 +0100 Subject: [PATCH] CmdPal: Add new colorful icons for Bookmarks and Performance Monitor (#45979) ## Summary of the Pull Request This PR replaces fluent outline icons used for Bookmarks extension and Performance Monitor extension to put them in line with other extensions: ## Pictures? Pictures: | | Old | New | |-----------------|----------------------|--------------------------| | Bookmarks | image | image | | Perf Mon | image | image | ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx ## Detailed Description of the Pull Request / Additional comments ## Validation Steps Performed --- .../Assets/Bookmarks.png | Bin 0 -> 2894 bytes .../Assets/Bookmarks.svg | 1 + .../BookmarksCommandProvider.cs | 2 +- .../ext/Microsoft.CmdPal.Ext.Bookmark/Icons.cs | 4 +++- .../Pages/AddBookmarkPage.cs | 2 +- .../Assets/PerformanceMonitorExtension.png | Bin 0 -> 3553 bytes .../Assets/PerformanceMonitorExtension.svg | 1 + .../Icons.cs | 7 +++---- ...icrosoft.CmdPal.Ext.PerformanceMonitor.csproj | 5 +++++ .../PerformanceMonitorCommandsProvider.cs | 2 +- .../PerformanceWidgetsPage.cs | 2 +- 11 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Assets/Bookmarks.png create mode 100644 src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Assets/Bookmarks.svg create mode 100644 src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Assets/PerformanceMonitorExtension.png create mode 100644 src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Assets/PerformanceMonitorExtension.svg diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Assets/Bookmarks.png b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Assets/Bookmarks.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae9b727126dd05f38ea1159d81273ba923e33a7 GIT binary patch literal 2894 zcma)8dpwi-A0LHMoaB;-*19R|V$AFqVKl!YmxZo2JmWFjGuvcL*(pnsUX;rzg@i+r z#1XmWq&h@NPA&4@Av2W{d_*pVqBazt0?OzBM=A` zM=He)ej7;F0!8?FY^scnKqzQ}G%tad(^ir%#6~mxARhoNWOHF0fv~g|av8oXK!EfC z{6P*G^{S! zpClxsWO_;PZ|N}xg_KbQEHcW=$pvW#@c^V5+6;|FSt%ned45ci8^z(XFuWt90t5ms z34;j@4Mm6I(GbrcgR`)(z+g=E{|8w+k9xy@%7lT7%F<+Cp0gwRV2SDEunStjB0zz;$hHuPB zkvVh$$ovjnip-(Ixps2;_bAxxZvx>9?DxTm_?*;l9QqPBpBBaiFm3=J3gP(z_WJ;i zV6`k4ur-n$4`2uY3cScD6RZir7>hT?n$vJ5B&-<;Pc+2hu-F;06XXXn!~Q3kNW$S@ zGU;nJTpoT50ptJS&m^2AWluW=m*&5EG%I5V1wlO6IXDKq%-LDU(az3=2Qk4Q7~{Kb zwnaMH+YxXU1cI>%8YkmQ?~UXF3V|Rm3djaHe7MHQDAVbvXTcrc0cEz`;nso;Oe>V$ zEXk40@CQ6WKS98ZuG#ag0LTBIfb@QXLZk)0odd!*Y9ez^CgU}Wkx>=|%vWZ1%z>mW zgS3Lym`o7%GzKf(PzY}ZwoAB1Hjl!z&b@d({&aOUvZ3k<_ z1y?+dQtNjn*C~<*nsO5w%g>6e#zn6z9*fYz){?ZMjfdjvJDGl_7aJW0Gr+nJPYF6`tL=KhB_1bgh;L)xB%V@BPI-{#I53tzS%%4r^Y_nLTN-nf zuEt2jD)%kMQ>@90fA88R-g^zOKlOpWD)J~${|7+uy6G3QW<$_5N|WQ8vbw0}!OKC9 z$5WqP<|jRWVeC<;V)w`SzRG=KNWFUG_-Jr1(L1_#zj!ogLuA-WTPSm2%g#yt*1{Wu z_Kvaa8y$+KJ-Vm!G}jcCtxpiA_~ypi_G!Kwh$T;U3_MqDHJiAwrM*MqY~fw=TIJ9+ z|Iwlwzs-ZcNDH~t9ee~rwNAR^k_=UK5s3Njjuac3mn8dV>s&p1jp&+DmsoLbHoYM3 z#JVLmb;tz=N8VRj?$RWW<+8rph&qt6OhCdkX z^MBho)b&_2&f$*_H{PA-|B!C>u+n*VWp!+clBI&>L3zZwpXM`PLX~Sa4eN`05-!Q5 zuZ-mNSA;z4T+{x@x?3q?{_f`zoeVAXyb-!X7e#@HcqN~5+9K2T{9*3V9L*?T{8+=8-0kEj!GU8>(u!<)vsNwWZmYaQ z`H5Jom$*Etxjf&aQK`9pLfq1KSHDV8QEk_|ta3#CtqTcLbp-Jb0`rf>xyz5#p1F~o zfow|)RT}TfQW}^SellzGx%G>zvJFHkH{u3TFLz!mM&Nsb?`1OoQy^S<@lR^{kE}~q zaP*y(+@WVIaRbc`XKlL!ID6SRBX;Yjty9(1wH-MZn~t2ysoJtNHEaboF}q=rL4FM0 z_vs$D0);;-isd{NsT>`5uI8;%_`uQDhOk~^vH{HZ>L6wUSTpKf}TRQ?Fj zf0l2=$nO-Anhu}qeVQAeoykT-pZy)XVf?Q1eRHh?+Vbtr!y*=z(`-Z}8ZIqTa&ozO zZeb_7V)O(d&$B;BQG2qQmv3d@L5o^4g2Q{t|1#PWE>=VCFh9-OE(zwNDDsPL5=++d z4X?Kxt7;C94w|>%j&o!%XYI6MKA zI$CruWtSXteTk1zQ>~fm&2@o!S;=}#Ift@@+I&yBPsF2s=Y0wFf4oUP}185 zZ^rWTPnXqkiiwlD*FP$GLa1unCr`SS3M|NstVP%IS|FnqR@E~ z_YB>S6_Q)UZW<}eNv&>W~IR6s#Xr+ zYKf+77A*n1KBi_eaWAAfk6ASSU}wIlIlu70Awj2Y8EA!F*IBSZWhyDqe?fExzUfK1 zH9@i^-uuiaO=8?Tg2M5!frw3mdReRt^Z31>>iDZhNo-rBclAD9$+CE>P4D%EP|(z; YjltbzqLXxY>EB>SduPfeTl&HO0)45GEC2ui literal 0 HcmV?d00001 diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Assets/Bookmarks.svg b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Assets/Bookmarks.svg new file mode 100644 index 0000000000..7cb507d290 --- /dev/null +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Assets/Bookmarks.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/BookmarksCommandProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/BookmarksCommandProvider.cs index df926129fb..d24adcdb78 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/BookmarksCommandProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/BookmarksCommandProvider.cs @@ -54,7 +54,7 @@ public sealed partial class BookmarksCommandProvider : CommandProvider Id = "Bookmarks"; DisplayName = Resources.bookmarks_display_name; - Icon = Icons.PinIcon; + Icon = Icons.BookmarksExtensionIcon; var addBookmarkPage = new AddBookmarkPage(null); addBookmarkPage.AddedCommand += (_, e) => _bookmarksManager.Add(e.Name, e.Bookmark); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Icons.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Icons.cs index 6e7d955606..5ee694c6c4 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Icons.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Icons.cs @@ -6,7 +6,9 @@ namespace Microsoft.CmdPal.Ext.Bookmarks; internal static class Icons { - internal static IconInfo BookmarkIcon { get; } = IconHelpers.FromRelativePath("Assets\\Bookmark.svg"); + internal static IconInfo BookmarksExtensionIcon { get; } = IconHelpers.FromRelativePath("Assets\\Bookmarks.svg"); + + internal static IconInfo AddBookmarkIcon { get; } = IconHelpers.FromRelativePath("Assets\\Bookmark.svg"); internal static IconInfo DeleteIcon { get; } = new("\uE74D"); // Delete diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Pages/AddBookmarkPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Pages/AddBookmarkPage.cs index 927044e77c..7d40d5c3cc 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Pages/AddBookmarkPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.Bookmark/Pages/AddBookmarkPage.cs @@ -23,7 +23,7 @@ internal sealed partial class AddBookmarkPage : ContentPage var name = bookmark?.Name ?? string.Empty; var url = bookmark?.Bookmark ?? string.Empty; - Icon = Icons.BookmarkIcon; + Icon = Icons.AddBookmarkIcon; var isAdd = string.IsNullOrEmpty(name) && string.IsNullOrEmpty(url); Title = isAdd ? Resources.bookmarks_add_title : Resources.bookmarks_edit_name; Name = isAdd ? Resources.bookmarks_add_name : Resources.bookmarks_edit_name; diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Assets/PerformanceMonitorExtension.png b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Assets/PerformanceMonitorExtension.png new file mode 100644 index 0000000000000000000000000000000000000000..af6ebf097793baf13cdec76a6c476c09ced584cd GIT binary patch literal 3553 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 literal 0 HcmV?d00001 diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Assets/PerformanceMonitorExtension.svg b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Assets/PerformanceMonitorExtension.svg new file mode 100644 index 0000000000..1f50e8cc4d --- /dev/null +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Assets/PerformanceMonitorExtension.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Icons.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Icons.cs index 3d2fe49e70..0101db7ee2 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Icons.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Icons.cs @@ -6,8 +6,10 @@ using Microsoft.CommandPalette.Extensions.Toolkit; namespace Microsoft.CmdPal.Ext.PerformanceMonitor; -internal sealed class Icons +internal static class Icons { + internal static IconInfo PerformanceMonitorIcon => IconHelpers.FromRelativePath("Assets\\PerformanceMonitorExtension.svg"); + internal static IconInfo CpuIcon => new("\uE9D9"); // CPU icon internal static IconInfo MemoryIcon => new("\uE964"); // Memory icon @@ -26,6 +28,3 @@ internal sealed class Icons internal static IconInfo NavigateForwardIcon => new("\uE72A"); // Next icon } - - -#pragma warning restore SA1402 // File may only contain a single type diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Microsoft.CmdPal.Ext.PerformanceMonitor.csproj b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Microsoft.CmdPal.Ext.PerformanceMonitor.csproj index f80630c792..89221d48d8 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Microsoft.CmdPal.Ext.PerformanceMonitor.csproj +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/Microsoft.CmdPal.Ext.PerformanceMonitor.csproj @@ -54,5 +54,10 @@ PreserveNewest + + + PreserveNewest + + diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceMonitorCommandsProvider.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceMonitorCommandsProvider.cs index 24bf99ac77..6e7c66cdc8 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceMonitorCommandsProvider.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceMonitorCommandsProvider.cs @@ -17,7 +17,7 @@ public partial class PerformanceMonitorCommandsProvider : CommandProvider { DisplayName = Resources.GetResource("Performance_Monitor_Title"); Id = "PerformanceMonitor"; - Icon = Icons.StackedAreaIcon; + Icon = Icons.PerformanceMonitorIcon; var page = new PerformanceWidgetsPage(false); var band = new PerformanceWidgetsPage(true); diff --git a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceWidgetsPage.cs b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceWidgetsPage.cs index 07c6851cb6..e1250acc82 100644 --- a/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceWidgetsPage.cs +++ b/src/modules/cmdpal/ext/Microsoft.CmdPal.Ext.PerformanceMonitor/PerformanceWidgetsPage.cs @@ -32,7 +32,7 @@ internal sealed partial class PerformanceWidgetsPage : OnLoadStaticListPage, IDi public override string Title => Resources.GetResource("Performance_Monitor_Title"); - public override IconInfo Icon => Icons.StackedAreaIcon; + public override IconInfo Icon => Icons.PerformanceMonitorIcon; private readonly bool _isBandPage;