Open fiftydinar opened 9 months ago
Nice idea! Including a lot of wallpapers will fill the build space pretty quickly, though, that's why the old bling wallpapers used RPMs. Including wallpapers from an external source could be cool too, but might get complicated. Setting up the correct XML and whatever so that the wallpapers are in DE wallpaper pickers would be the main feature of the module IMO, though.
Nice idea! Including a lot of wallpapers will fill the build space pretty quickly, though, that's why the old bling wallpapers used RPMs.
Yeah, that's true. I can maybe put some arbitrary file-size limit or/and simply warn in README about this.
Including wallpapers from an external source could be cool too, but might get complicated.
I agree, that's cool. Something similar to what fonts
module does with google-fonts & nerd-fonts. We would need to find some reliable & popular wallpaper source for this. Open-source preferred. Maybe devianart wallpaper category or something.
Setting up the correct XML and whatever so that the wallpapers are in DE wallpaper pickers would be the main feature of the module IMO, though.
Yeah, that's what I realized when I looked into what needs to be manually done to do those things. Users wouldn't need to know about those XML's & gschema stuff, they would just put wallpaper & be happy that it works.
External wallpaper source would be a great feature too!
@xynydev Now that I think about, I think that your proposed recipe format is pretty good, with some exception:
type: wallpapers
default-scaling: zoom
wallpapers:
- file: filename-scale.jpg
scaling: scaled
- file: filename-tile.jpg
scaling: wallpaper
default-wallpaper:
light: filename-center-light.jpg
dark: filename-center-dark.jpg
scaling: centered
How to handle specifying folders here in wallpapers
-file
?
What if user wants to copy everything from /files/wallpapers/*
by specifying type: wallpapers
only?
Will have to think how to handle that here.
It would make it easier for the user to copy wallpapers into desktop environment.
1st option would be to just copy supplied wallpapers into
/usr/share/backgrounds
location.2nd option would be to select which wallpaper to set by default, with option for light & dark variants combined (this is supported in Gnome with .xml's in
/usr/share/gnome-background-properties
). We would need to use gschema-override for this too, which we can name withzz2-bluebuild-wallpapers.gschema.override
name (compared tozz1-
prefix used ingschema-overrides
module).Here's how gschema.override setting looks, which achieves this:
KDE is not known for good implementation for system-settings override, so we would probably have to exclude default wallpaper support for it. If someone knows more about how KDE handles backgrounds, please write comment.
Notice that wallpaper should be as small in file-size as possible with acceptable quality, to make wallpaper load instantly on low-end machines & to make light/dark mode transition seamless & stutter-free. Around 500-600kb of file-size would be my recommendation. For lossless compression, you can try to convert wallpaper into JXL Lossless or WEBP Lossless (JXL is the best. Do this only when you are converting from lossless formats like PNG). For lossy compression, you can try to convert wallpaper into JXL, AVIF or WEBP format (sorted from best to worse).
Perhaps, I can make this automatic too with lossless compression at least.
I know that Gnome supports JXL image format for wallpapers. I only see that KDE supports that format for image viewing, but I'm not sure if it supports setting JXLs as wallpapers too.