dynwall
is a simple tool that helps you quickly generate dynamic wallpapers for popular desktop environments like KDE Plasma or GNOME from two images of your choice. It doesn't require installation and can be used both as a graphical utility to achieve desired results easily and quickly, and as a CLI for better fine-tuning and automation.
In order to run this tool, clone the repo and execute the dynwall
script:
git clone https://github.com/Kir-Antipov/dynwall
cd dynwall
./dynwall
Alternatively, if you don't want to keep the script after its execution, for example, if you only need to generate a single wallpaper, you can achieve the same results with this one-liner:
curl -Ls https://github.com/Kir-Antipov/dynwall/blob/HEAD/dynwall?raw=true | bash -s
While the script is running, simply follow its instructions:
-
Enter a name for your wallpaper in the first popup.
-
After that, choose a light version of your wallpaper in the file dialog.
-
Then, choose a dark version of your wallpaper in the newly popped file dialog.
-
Specify whether you want to enable the time-shifting feature for your wallpaper (i.e., it will gradually change from its light version to the dark one and back throughout the day).
-
That's all! The wallpaper has been successfully generated, and you can select it in your system settings.
Here's a helpful list of features supported by DEs that dynwall
is currently aware of:
Dynamic Wallpapers | GIF Wallpapers | Time-Shifting Wallpapers | |
---|---|---|---|
KDE Plasma | ✅ | ✅ | ❌ |
GNOME | ✅ | ❌ | ✅ |
Usage: ./dynwall [<options>]
Generate dynamic wallpapers.
Examples:
./dynwall
./dynwall -n "My Theme" -l "light.png" -d "dark.png" --no-time-shifting
./dynwall -n "My Theme" -l "https://example.com/light.png" -d "dark.png" -t
sudo -E ./dynwall --style terminal --force
Options:
-h, --help Display this help text and exit.
-l, --light-image <uri> Set a URI of the light wallpaper image.
-d, --dark-image <uri> Set a URI of the dark wallpaper image.
-i, --id <id> Set an identifier for the wallpaper.
-n, --name <name> Set a name for the wallpaper.
-t, --time-shifting Enable time-shifting for the wallpaper.
--no-time-shifting Disable time-shifting for the wallpaper.
-o, --output-directory <path> Set a directory to save the wallpaper.
-f, --force Allow overwriting existing files.
-s, --style <style> Choose a dialog style: KDE, GNOME, or TERMINAL.
-a, --author <author> Specify an author of the wallpaper.
-e, --email <name> Specify an email of the author of the wallpaper.
-c, --license <license> Specify a license for the wallpaper.
Of course, there's no need to use that pesky GUI if you don't want to! Just provide all the necessary information upfront, and you're good to go. Alternatively, you can specify the --style terminal
flag, so dynwall
will ask all its questions within the terminal without creating dialog windows.
Here are a few benefits of using CLI over the GUI routine:
- You can specify URLs instead of file paths for your images. So, if those are hosted somewhere, there's no need to download them manually only to stuff them into
dynwall
. - You can provide values for the
author
,email
, andlicense
options if you want to share the wallpaper with somebody. - You can allow overwriting existing files via the
--force
flag, which is disabled by default so GUI users won't accidentally delete something important. - If you run
dynwall
viasudo -E
(mind the-E
; it's important fordynwall
to know the desktop environment it's currently in), you can create a global wallpaper instead of a local one. Global wallpapers are accessible to all users, unlike local ones, which are only available to their respective owners.
Licensed under the terms of the MIT License.