Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add logos to packages #1253

Closed
SlimRG opened this issue Jul 3, 2021 · 9 comments
Closed

Add logos to packages #1253

SlimRG opened this issue Jul 3, 2021 · 9 comments
Labels
Area-Manifest This may require a change to the manifest Issue-Feature This is a feature request for the Windows Package Manager client.
Milestone

Comments

@SlimRG
Copy link

SlimRG commented Jul 3, 2021

Today I develop my program WingetGUI
So... I'd like to show logos of apps.
In my opinion, it will be a good idea to have URL on logo of package
New windows terminal also support images in title, so you can use this logo in installation progress too.
What do you think about it?

@SlimRG SlimRG added the Issue-Feature This is a feature request for the Windows Package Manager client. label Jul 3, 2021
@ghost ghost added the Needs-Triage Issue need to be triaged label Jul 3, 2021
@rbarbrow
Copy link

rbarbrow commented Jul 4, 2021

how would you show a logo via a command-line interface?

@SlimRG
Copy link
Author

SlimRG commented Jul 4, 2021

Something like that?
image

@jantari
Copy link

jantari commented Jul 5, 2021

how would you show a logo via a command-line interface?

It would just be ignored by the command-line winget. I think it's a good idea to have an OPTIONAL logo url in the manifest for GUI wrappers to consume.

@SlimRG
Copy link
Author

SlimRG commented Jul 5, 2021

Yes, of course
Logo URL should be only OPTIONAL parameter of manifest

@denelon denelon added Area-Manifest This may require a change to the manifest and removed Needs-Triage Issue need to be triaged labels Jul 6, 2021
@khaffner
Copy link

I had the same idea, but did not find this issue before i posted here: microsoft/winget-pkgs#22577

I support this 👍

@drewid
Copy link

drewid commented Aug 10, 2022

Definitely should be supported as the repo could/should definitely be resourced other than command line to be more useful and holistic.

@drewid
Copy link

drewid commented Aug 10, 2022

Should be a simple manifest addition

@khaffner
Copy link

Should be a simple manifest addition

Yes, I see two options:

  1. Encode the image in base64. Takes huge amount of space, but the maintainers have full control over the content of the image. Inelegant.
  2. A link to an image. This opens up to third parties modifying the image to something awful without winget knowing, except if we also have a field in the manifest for the hash of the image. The same way installer files are secured in the manifest. GUI implementations can then get the image, verify hash, and only show image if hashes match.

@denelon denelon modified the milestones: Backlog-Client, v1.6 Client Jun 12, 2023
@denelon
Copy link
Contributor

denelon commented Jun 12, 2023

We're tracking this work in:

The schema support has been added to the 1.5 schema. The WinGet community repository will not accept manifests with the icon fields included (by policy), but we will be fetching them during validation, and exposing them via the COM API so other GUI based solutions can display them. Once the back-end work is completed, all 1.5 manifests will be used as the signal to capture the icon and make it available via a URL, and the SHA256 for the image and the image type will be automatically included in the manifests served by WinGet even though this metadata will not be in the winget-pkgs repository.

Note: The Dev Home experience will provide an example of how to implement this once it's all wired up.

"Icon": {
"type": "object",
"properties": {
"IconUrl": {
"$ref": "#/definitions/Url",
"description": "The url of the hosted icon file"
},
"IconFileType": {
"type": "string",
"enum": [
"png",
"jpeg",
"ico"
],
"description": "The icon file type"
},
"IconResolution": {
"type": [ "string", "null" ],
"enum": [
"custom",
"16x16",
"20x20",
"24x24",
"30x30",
"32x32",
"36x36",
"40x40",
"48x48",
"60x60",
"64x64",
"72x72",
"80x80",
"96x96",
"256x256"
],
"description": "Optional icon resolution"
},
"IconTheme": {
"type": [ "string", "null" ],
"enum": [
"default",
"light",
"dark",
"highContrast"
],
"description": "Optional icon theme"
},
"IconSha256": {
"type": [ "string", "null" ],
"pattern": "^[A-Fa-f0-9]{64}$",
"description": "Optional Sha256 of the icon file"
}
},
"required": [
"IconUrl",
"IconFileType"
]
}
},

@denelon denelon closed this as completed Jun 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Manifest This may require a change to the manifest Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
None yet
Development

No branches or pull requests

6 participants