zzag / plasma5-wallpapers-dynamic

Dynamic wallpaper plugin for KDE Plasma
328 stars 18 forks source link

Support for multiple formats #109

Closed renyuneyun closed 2 years ago

renyuneyun commented 2 years ago

Thanks for the great plugin. I have been wondering about a plugin like this for a long time.

I saw there is a change in supported format from version 3 (HEIC/HEIF) to version 4 (AVIF), and it made lots of wallpapers no longer compatible. This seems to be a big anti-feature and bad practice. (And, let alone that there is not a large amount of wallpapers on the other repository.)

I saw #87 as well, which did not void the reason for keeping HEIC support. If Fedora does not come with libheif, then just don't compile the part related to libheif (and HEIC support) on Fedora; on a system that supports it, compile it. This is the normal practices for lots of software by giving different options during compilation. (But I'm not an expert on this aspect; I only have experience for compiling them. Happy to contribute thoughts if I can.)

And, in addition, there is also https://github.com/saint-13/Linux_Dynamic_Wallpapers for gnome which uses some other format based on XML. There is also a plasma plugin that supports their(?) format https://github.com/easyteacher/plasma-wallpapers-xml.

Therefore, it would be the best if this project could support multiple formats -- maybe at least with both AVIF and HEIC at the same time for backward compatibility. If possible, maybe also that XML format?

By the way, the AVIF format seems to be the smallest (in file-size) among them, and the XML-based format seems to be the largest. Interesting to see the big difference between them, and really hope something like a compatibility layer or shared standard formats could emerge.

zzag commented 2 years ago

It's indeed a shame that HEIC wallpapers were lost. In order to simplify the transition, the manifest file format of v3 and v4 was kept compatible to make the transition as smooth as possible. I would like to avoid supporting multiple file formats mostly because of maintenance costs.

While there's some correlation with XML wallpapers, this plugin provides a different set of features. The main focus of this plugin is put towards day & night wallpapers, i.e. when the displayed image switches from light and dark version, this allows to do things such as sync'ing displayed images with the position of the Sun, etc. XML wallpapers are more "script-based" wallpapers, i.e. at this time, display this image, etc.

That being said, I'm not sure about supporting multiple formats because of maintenance concerns.