Free cookie consent management tool by TermsFeed
Icons and Screenshots - WingetUI

WINGETUI HOME

HELP AND DOCUMENTATION

CONTACT ME

Icons and Screenshots - Documentation

Some of the packages downloadable feature icons, and a subgroup of them also offers screenshots that will be shown on the details window. On this article you will learn how does the icon database works, how to change the source of it and how to contribute to the database, that is open for anyone who wants to help this project.


Table of contents



About the icons and screenshots shown in WingetUI

On a general rule, all the icons and screenshots related to packages shown in WingetUI come from an open database made for WingetUI, and updated by WingetUI users.

However, some package managers offer fallback solutions, such as Chocolatey, whose packages can retrieve their respective icons from Chocolatey's website.

Contribute to the database

To contribute to the database, you will need to open this Google Spreadsheet and request for write access, stating on the Message text box for which packages you want to provide icons and/or screenshots.

Once accepted, search for your Package ID, which will show in lowercase, with dashes instead of dots (.) or underscores (_) and, in case of Winget, with their Publisher ID removed. (More info on Normalized IDs here)

Then, paste the URL to the icon on the corresponding (orange) cell (it must be a SQUARE PNG FILE), and, if available, paste, each on one cell, the URLs of the available screenshots, if any


Using a custom icon and screenshot database

WingetUI retrieves the icon from an online database, which consists of a JSON file, the url fo which is: https://raw.githubusercontent.com/marticliment/WingetUI/main/WebBasedData/screenshot-database-v2.json However, custom databases can be specified from the settings, under Experimental Features. The URL must redirect to a valid JSON file using the following scheme: {
    "package_count": { // An optional entry to document which percentage of the packages. It is not required
        "total": 0,
        "done": 0
        "packages_with_icon": 0
        "packages_with_screenshot": 0
        "total_screenshots": 0
    },
    "icons_and_screenshots": { // This is the main list of package icons and screenshots
        "normalized-id1": { // The normalized id* of a package
            "icon": "https://cdn.someurl.com/resources/icon.png", // A PNG file as the icon
            "images": [
                "https://cdn.someurl.com/resources/img1.png", // A list of screenshots
                "https://cdn.someurl.com/resources/img2.png",
                "https://cdn.someurl.com/resources/img3.png"
            ]
        },
        "package2": { // The normalized id* of another package
            "icon": "http://anotherweb.org/contents/.wpupload/img-square-icon.png",
            "images": [] // This package has no screenshots. However, it still has the images key
        },
        ... // The rest of the packages are here.
         // If a package has no icon nor screenshot, it is not required to appear listed on this JSON
    }
}
NOTE:All the icons must be PNG files.

Normalized IDs

Package ids will be normalized. This means that the id will show in lowercase, and the spaces, underscores and dots (" ", "_", ".") will be replaced by dashes ("-").

In the same manner, Winget packages will have their publisher removed from the ID, and chocolatey packages will have meta suffixes (.install and .portable) removed.





This is the end of this article. Return to the WingetUI Help and Documentation page?

© 2024, Martí Climent