Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds Windows taskbar jump list integration to the WinUI Gallery app, providing quick access to utility pages (Iconography, Color, Typography) and user favorites directly from the taskbar. It also introduces a new "Shell" category in the navigation structure to better organize system-integration features like app notifications, badge notifications, and the new jump list functionality.
Changes:
- Added a new
JumpListHelperclass to manage the app's taskbar jump list with fixed tasks and dynamic favorites - Created a new
JumpListPagedemonstrating jump list APIs with interactive examples and code samples - Reorganized
ControlInfoData.jsonto move AppNotification and BadgeNotification into a new "Shell" category alongside the new JumpList entry, while moving Clipboard, ContentIsland, and StoragePickers to a new "System" category - Integrated jump list updates with the favorites system, automatically refreshing the taskbar menu when users add/remove favorites
- Added launch argument handling to support deep-linking from jump list items
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| WinUIGallery/WinUIGallery.csproj | Added JumpList.png asset reference with tab/space inconsistency |
| WinUIGallery/Samples/Data/ControlInfoData.json | Created new Shell and System categories, moved existing items, added JumpList entry |
| WinUIGallery/Samples/ControlPages/JumpListPage.xaml.cs | Implemented event handlers for jump list demo with packaged-mode checks |
| WinUIGallery/Samples/ControlPages/JumpListPage.xaml | Created demo UI with InfoBars and ControlExample blocks, but contains incorrect asset paths in code samples |
| WinUIGallery/Helpers/SettingsHelper/SettingsHelper.cs | Integrated jump list updates with favorites changes via fire-and-forget pattern |
| WinUIGallery/Helpers/JumpListHelper.cs | Core jump list management with error handling and item mapping |
| WinUIGallery/Assets/ControlImages/JumpList.png | New icon asset for the jump list page |
| WinUIGallery/App.xaml.cs | Added launch argument handling for jump list activation and initialization call |
marcelwgn
left a comment
There was a problem hiding this comment.
Looks good except for the tasks elements, I think we should only put favorites in there.
What about applying |
@marcelwgn @Zakariathr22 Fair feedback. I'll remove the hardcoded entries (those can be favorite-ed anyways so you can ake them show up there :)) and I like the |
|
@niels9001 I've opened a new pull request, #2128, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@niels9001 I've opened a new pull request, #2129, to work on those changes. Once the pull request is ready, I'll request review from you. |
|
@niels9001 I've opened a new pull request, #2130, to work on those changes. Once the pull request is ready, I'll request review from you. |
…UI-Gallery into niels9001/jumplist
The inline C# code samples on `JumpListPage` referenced `ms-appx:///Assets/Square44x44Logo.scale-200.png`, an asset that doesn't exist in the project, causing the displayed snippets to be misleading/non-functional if copy-pasted. ## Changes - Replace both occurrences of the invalid path in the XAML code sample strings with `ms-appx:///Assets/Tiles/AppList.targetsize-48.png`, aligning the samples with what the code-behind (`JumpListPage.xaml.cs`) actually uses. <!-- START COPILOT CODING AGENT TIPS --> --- 🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. [Learn more about Advanced Security.](https://gh.io/cca-advanced-security) --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: niels9001 <9866362+niels9001@users.noreply.github.com>
The inline C# code snippets in `JumpListPage.xaml` referenced
`ms-appx:///Assets/Square44x44Logo.scale-200.png`, which doesn't exist
in the main app project — only in the unit test assets.
## Changes
- Updated both `Logo` URI examples in `JumpListPage.xaml` to use
`ms-appx:///Assets/Tiles/AppList.targetsize-48.png`, matching the actual
path used in the code-behind.
```csharp
// Before
task.Logo = new Uri("ms-appx:///Assets/Square44x44Logo.scale-200.png");
// After
task.Logo = new Uri("ms-appx:///Assets/Tiles/AppList.targetsize-48.png");
```
<!-- START COPILOT CODING AGENT TIPS -->
---
💬 We'd love your input! Share your thoughts on Copilot coding agent in
our [2 minute survey](https://gh.io/copilot-coding-agent-survey).
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: niels9001 <9866362+niels9001@users.noreply.github.com>
- [x] Identify that the "Shell" category was added to `ControlInfoData.json` at position 18 (after "System") - [x] Update `tests/WinUIGallery.UnitTests/UnitTests.cs` to add "Shell" to the `expectedGroups` list - [x] Code review passed with no issues - [x] CodeQL scan passed with no alerts <!-- START COPILOT CODING AGENT TIPS --> --- ✨ Let Copilot coding agent [set things up for you](https://github.com/microsoft/WinUI-Gallery/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot) — coding agent works faster and does higher quality work when set up for your repo. --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: niels9001 <9866362+niels9001@users.noreply.github.com>
…UI-Gallery into niels9001/jumplist
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@niels9001 I've opened a new pull request, #2131, to work on those changes. Once the pull request is ready, I'll request review from you. |
…roj (#2131) The `JumpList.png` content entry in `WinUIGallery.csproj` used a tab character for indentation and was missing the space before `/>`, inconsistent with surrounding entries that use 4 spaces. - **`WinUIGallery/WinUIGallery.csproj`**: Replace tab with 4-space indent and add missing space before `/>` on the `JumpList.png` line ```diff - <Content Include="Assets\ControlImages\JumpList.png"/> + <Content Include="Assets\ControlImages\JumpList.png" /> ``` <!-- START COPILOT CODING AGENT TIPS --> --- 💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more [Copilot coding agent tips](https://gh.io/copilot-coding-agent-tips) in the docs. Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
|
/azp run |


WinUI Gallery now integrates with the Windows taskbar jump list, giving you quick access to common utilities like Iconography and Colors pages and your favorites directly from the taskbar.
Taskbar jump list integration
New sample page: Jump list (Shell→ Jump list)
Also moved app notifications, badge notifications and jumplist to a new category called "Shell":