Dynamic wallpaper on Linux
Wallpapers. We all have one and we all see it (nearly) every day. Some people use a picture of their (grand)children, some people match it to their theme, some people have an anime character, some use works of art and others have something they just like the look of. Whatever your preference, you've probably had the same one for ages.
My preferred way was to use something that matched my theme. I like matching things and uniformity on my system. It is why I have this sick need to make everything on my system use the same theme and I hate applications that do not. Looking at you Discord. This kinda became pointless when I decided to ditch my bar (#barless) and just have a work environment without any UI. (Does not stop me from still matching apps up to the same theme...) My screen is just the wallpaper with nothing else on screen when no application is running. I found a bar pointless and I have a script that will pop up all the information the bar would give me in a notification, instead of on an ever present bar, which serves no real purpose, but just takes up space.
At any rate, I've gotten a bit bored of my wallpaper. I rarely see it though, mainly on start up and when I switch to an empty workspace. Most applications I use are fully opaque and run full-screened, and totally block any view of my wallpaper. When I have two applications open on one workspace, which is rare, I do get a glimpse of the wallpaper where the gaps of my Window Manager show some wallpaper as they separate the applications. So if I rarely see it, why do I care about my wallpaper?
I have no idea, but I do. I think I crave change and excitement. Whatever the case may be, I wound up looking for a way to spice up my wallpaper game and found I could have it change based on what time of day it was. Apple has this feature and they call it Dynamic Wallpaper. So the idea is pretty simple. Depending on what time of day it is, the wallpaper will be different displaying a version of itself that correlates with how the sun would be at that time on this image.
Cool, right? So how do we go about setting this up on Linux? Turns out, that's pretty easy. There is a program called Dwall, or Dynamic Wallpaper. This excellent program (that Arch users can install from the AUR, but everyone else can install by cloning the repo and running the install), will offer you the ability to set up a cron job to automatically change your wallpaper based on the time of day. It comes with 25+ wallpapers out of the box and it allows you to use your own wallpapers as well, including the proprietary Apple HEIC Images.
I will not get into how to set this up and install it, as the README.md does an excellent job of explaining how to set it up properly. I will say this is one of the coolest applications I have added to my system in ages. Hourly a cronjob runs and it will check to see if the current wallpaper needs updating to match the current time of day and if it does, it changes it. It's like magic.
I never knew I needed this in my life. Now that I do, I cannot imagine my life without. Absolutely check out this awesome project and upgrade your system now!