Skip to content

Adding jumplist support#2125

Merged
niels9001 merged 17 commits intomainfrom
niels9001/jumplist
Feb 24, 2026
Merged

Adding jumplist support#2125
niels9001 merged 17 commits intomainfrom
niels9001/jumplist

Conversation

@niels9001
Copy link
Copy Markdown
Collaborator

@niels9001 niels9001 commented Feb 20, 2026

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.

image

Taskbar jump list integration

  • Right-click the WinUI Gallery icon to see all your favorited and recent items appear in a dedicated "Favorites" and "Recent" group in the jump list
  • The jump list updates automatically when you add or remove favorites
  • Clicking any jump list item launches the app and navigates directly to that page

New sample page: Jump list (Shell→ Jump list)

  • Interactive demos for adding tasks and custom groups to a jump list
  • Inline C# code samples showing the JumpList and JumpListItem APIs
  • Packaged-mode (MSIX) requirement noted via InfoBar

Also moved app notifications, badge notifications and jumplist to a new category called "Shell":

image

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 JumpListHelper class to manage the app's taskbar jump list with fixed tasks and dynamic favorites
  • Created a new JumpListPage demonstrating jump list APIs with interactive examples and code samples
  • Reorganized ControlInfoData.json to 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
Copy link
Copy Markdown
Contributor

Not sure if this is due to this PR or in general but we have this little border on the top of the sample code flyout:
image

Copy link
Copy Markdown
Contributor

@marcelwgn marcelwgn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good except for the tasks elements, I think we should only put favorites in there.

@Zakariathr22
Copy link
Copy Markdown
Contributor

Looks good except for the tasks elements, I think we should only put favorites in there.

What about applying Recent instead of Tasks

@niels9001
Copy link
Copy Markdown
Collaborator Author

Looks good except for the tasks elements, I think we should only put favorites in there.

What about applying Recent instead of Tasks

@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 Recents section.

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 22, 2026

@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.

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 22, 2026

@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.

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 22, 2026

@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.

niels9001 and others added 7 commits February 22, 2026 14:48
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>
@niels9001
Copy link
Copy Markdown
Collaborator Author

Not sure if this is due to this PR or in general but we have this little border on the top of the sample code flyout: image

Fixed!

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 22, 2026

@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.

@niels9001 niels9001 enabled auto-merge (squash) February 22, 2026 16:56
Copilot AI and others added 2 commits February 23, 2026 16:19
…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>
@niels9001 niels9001 requested a review from marcelwgn February 23, 2026 15:25
@niels9001
Copy link
Copy Markdown
Collaborator Author

/azp run

@niels9001 niels9001 merged commit f42c8ba into main Feb 24, 2026
4 checks passed
@niels9001 niels9001 deleted the niels9001/jumplist branch February 24, 2026 08:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants