Repository navigation
Package details and the source of every row (#24, part 1) - #25
Merged
Merged
Conversation
Details of highlighted package, in the context menu of all three lists, shows winget's own text: list --details for an installed package, show from the row's source for the catalogue part. The labels winget prints are translated, so nothing is parsed (ADR 0021). The read runs in one job behind the busy state; the dialog text now scrolls. Every row carries its Source: winget for a search without the Store, the last column otherwise (Match values always contain ':'), the last column of list (Available only appears when something has an update) and the fifth of upgrade. Install passes --source, so a winget package no longer makes winget query the Store too. Part of #24. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 14, 2026
With MS Store ticked the search ran once over every source with --count 25. Since winget 1.29 REST results are no longer sorted to the top, so a common word filled the list with winget packages: 'spotify' found 33 and the Store app came 34th, never shown. Now winget (--count 25) and msstore (--count 10) are two searches in the same job, results appended; the source of a row is the one that was queried, not a column to guess. A Store that does not answer leaves the winget results and logs why. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Show-AppDialog -Links shows the text in a read-only RichTextBox, still selectable, with a Hyperlink per http(s) address (closing punctuation left out). The link handler of the main window moves to Add-LinkHandler and the popup gets one too, since the event only bubbles inside its own window. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First of three PRs for #24: package details and the source of every row.
Details
Details of highlighted package is in the context menu of all three lists. The Install list had no context menu until now. The item shows winget's own text in the themed dialog:
list --id X -e --detailsfor an installed package (scope, installer type, location);show --id X -e --source Sfor the catalogue part (description, publisher, homepage, licence, release notes), when the row has a source. ARP-only programs have none.Nothing is parsed (ADR 0021). winget translates its labels (
Editore:,Licenza:,Ambito installazione:), so extracting fields would need one parser per language and would break silently when a translation changes.The read is one background job behind
Test-WinGetBusyand the busy state, like an export (ADR 0003). The item is disabled while busy, like the pin items. The dialog's text box now scrolls (MaxHeight="480"), so a long manifest no longer grows the window off the screen.Source
WgtRowhas aSource:--source winget, so the source iswinget.:. Match values always carry one (Tag: 7zip), source names never do. Checked against winget 1.29.380.list: the last column, not the fourth.Disponibileonly appears when something has an update.upgrade: the fifth column.The Install list shows a SOURCE column. Install passes
--source "<Source>"when the row has one. Without it,install --id X -ealso queries the Store over the network. Updates and Installed are unchanged.After the Sandbox test
--count 25hid the Store: since winget 1.29 REST results are no longer sorted to the top, and "spotify" found 33 winget packages with the Store app 34th. Now there are two searches in the same job: winget (--count 25), thenmsstore(--count 10), with the Store results appended. The source of a row is the one that was queried; no column is read for it. A Store that does not answer, as in the Sandbox (0x8A15003B), leaves the winget results and logs why.-Livechecks "spotify": 25 winget results, then 1 msstore.Show-AppDialog -Linksshows a read-onlyRichTextBox, still selectable, with oneHyperlinkper address. The link handler moved toAdd-LinkHandler, and the popup gets one too.Tests
Test-InvokeWinGet.ps1:listwith 5 columns and an ARP row, andupgrade;Get-WinGetDetailsruns the right commands for installed / ARP / catalogue rows;Test-Ui.ps1:--sourcepassed only when the row has one;-Live:Get-WinGetDetailson7zip.7zipagainst the real winget (38 lines).Both suites pass offline, and
Test-Ui.ps1 -Livepasses. The dialog was rendered with the real 7-Zip text in both themes.🤖 Generated with Claude Code