An .sh terminal-based script to create light/dark wallpaper list in KDE Plasma.
Maybe, someone has already created a better tool than this one. I'll keeping my script in this repository so it won't get lost, while also publishing this script so it can help others who need it.
Screencast_20260210_084854.mp4
Video from Szhatie ↓↓↓
Screencast_20260209_230745.mp4
Some of these software will be used by this script. The list below is not mandatory to install.
ImageMagickto read/get image resolutioncurlorwgetto obtain this script. This will be used to run the script directly without cloning/saving it
-
Run this script (without bothering to clone repo) by copying this command and running it in terminal
Copy & run this for using
curlbash <(curl -sL https://raw.githubusercontent.com/yoelwep13578/KDE-dynamic-wallpaper-maker/refs/heads/main/light-dark-wallpaper-maker.sh)Copy & run this for using
wgetbash <(wget -qO- https://raw.githubusercontent.com/yoelwep13578/KDE-dynamic-wallpaper-maker/refs/heads/main/light-dark-wallpaper-maker.sh) -
Press
[Enter]and follow the instructions
This idea originated from a guide shared by u/MissBrae01 in Plasma 6.5's Day/Night Wallpapers - How to? (Reddit). From there, I created this script to simplify the process. This script will generate a file structure like this.
/WALLPAPER_FOLDER_NAME
contents
images
IMAGE_RESOLUTION.png
images_dark
IMAGE_RESOLUTION.png
metadata.json
And metadata.json will writen like this.
With Author
{
"KPlugin": {
"Authors": [
{
"Name": "AUTHOR_NAME"
}
],
"Id": "WALLPAPER_FOLDER_NAME",
"Name": "WALLPAPER_NAME"
}
} Without Author
{
"KPlugin": {
"Id": "WALLPAPER_FOLDER_NAME",
"Name": "WALLPAPER_NAME"
}
} You will be asked to fill information, such as:
-
Path of the image file you want to use for Light Mode (just drag and drop it into the terminal)
-
Path of the image file you want to use for Dark Mode (just drag and drop it into the terminal)
-
Name of wallpaper folder you want
FillingWALLPAPER_FOLDER_NAME -
Name of wallpaper you want to display on Desktop & Wallpaper Settings
FillingWALLPAPER_NAME -
Author's name (optional)
FillingAUTHOR_NAME -
Image resolution to be used as file name (just press
[Enter]because autodetect is available based on selected image)
FillingIMAGE_RESOLUTION -
Then save it to a location of your choice, between:
- Local Share/User Only
~/.local/share/wallpapers - System Wide
/usr/share/wallpapers - Any location you want, whether for testing or intending to create a collection and share it publicly
- Local Share/User Only
- DenysMb (Denys Madureira), GitHub
- u/MissBrae01, Reddit