SetBackground is a command line application for quickly changing the wallpaper (desktop background) on a Windows PC. It supports multiple monitor configuration as well as a single monitor configuration. The command line application is designed using Microsoft .NET and therefore is not fully standalone.
SetBackground offers three main features – setting the desktop background of the primary monitor, setting the background color for the primary monitor, and changing the background of the secondary or tertiary monitors.
For changing the desktop background for your Windows PC, you can give the following command:
SetBackground wallpaper C:\wallpaper\flowers.jpg
In this command, we are changing the wallpaper and the full path of the image file is the second parameter. If the path contains space, then we have to wrap the path within double-quotes.
Suppose you want to set the desktop background as the solid color and not any image. SetBackground can do it for you. In this case, the command would be something like:
SetBackground color #ff6699
In this example, the second parameter is the RGB hex value of the color. These are the same values as you would use in HTML or CSS source code. You can find a list of hex color codes from https://www.color-hex.com/216-web-safe-colors/.
For setting the wallpaper for multiple monitor configuration you have to first find the list of the connected monitors. This can be had easily by a simple command
SetBackground list-monitors. It will show a list of the connected monitors along with their ID number
In order to change the wallpaper for a monitor, you have to use this ID number in the following manner:
SetBackground wallpaper C:\wall\flowers.jog --monitor 2
Here we are changing the wallpaper for the 3rd monitor. Since the ID is based on an index that starts with zero, we supply 2 as the monitor ID number.
You can download SetBackground from https://github.com/davidegiacometti/SetBackground.