DrewNaylor / UXL-Launcher

An app launcher meant to launch Microsoft Office 2010, 2013, 2016, 2019 desktop software/apps, including ones from Office 365. Not associated with Microsoft.
Apache License 2.0
7 stars 1 forks source link

Per-theme images and icon sets. #220

Open DrewNaylor opened 1 year ago

DrewNaylor commented 1 year ago

Partially copied from OneNote: If it's possible to allow the PortableThemeEngine to have themes in folders that hold the theme file alongside images for the theme, allow the non-default About window banner for UXL Launcher (and other apps using that About window) to be loaded from that folder instead of stored in the app resources. What might work is if there's a section in the theme file that replaces the current section, saying:

<Images>
    <AboutWindowBanner>(name of About window banner picturebox control).png</AboutWindowBanner>
</Images>

This will allow for both finding the correct control to apply the banner to, as well as finding the correct image file to apply to that banner.

Or wait, maybe images would be auto-discovered next to the theme file, making specifying it not required except if there are multiple subfolders, then the folder needs to be specified, and then the files need to be named a certain way per control (alternate layouts would have to ensure they provide icons if they need one that isn't built-in or provided by another theme)?

Additionally, this can allow themes to use icon themes if desired, but the user can override that and choose their own icon theme. Probably each theme will be given a metadata file that describes the theme and its version, and any icons it provides, similar to but not quite like GTK3 themes on Cinnamon. The actual theme XML file would be in a different file, though I'm not sure how backward compatibility with TE1.x themes would work. Maybe it should just be a TE2.x+ feature (2.x isn't considered stable yet, so it can be added to it but I think I'm working on 3.x already [themed icons added at runtime is one feature in it], so maybe it should support both or just 3.x? Should there be a build that only supports 2.x+ themes so there's a little less code?). Not sure if I mentioned icon themes via the theme engine anywhere else yet.