# Command Line Controls
You can control Wallpaper Engine with command line arguments. This allows you to access most functionalities of the app through a shortcut, a macro binding or any kind of self-written script or code of your choice. For example, you may pause or stop all wallpapers, change wallpapers or even change settings of running wallpapers.
Make sure Wallpaper Engine is already running and then send a command to it by running the main process of the program, wallpaper32.exe (or wallpaper64.exe if you are using the 64 Bit version of the app), with any of the command arguments listed in this guide. You can find the executables in the wallpaper_engine
installation directory.
All commands are issued as a value for the -control
parameter. For example, the pause command can be executed like this:
wallpaper32.exe -control pause
Make sure to use the double-quote " character for strings that have spaces in them:
wallpaper32.exe -control openWallpaper -file "C:\Program Files (x86)\Steam\steamapps\common\wallpaper_engine\projects\myprojects\myWallpaper\project.json"
# Command Overview
# Pause
Pauses all wallpapers.
-control pause
# Stop
Stops all wallpapers.
-control stop
# Play
Resumes all wallpapers from pause or stop.
-control play
# Mute
Mutes all wallpapers.
-control mute
# Unmute
Unmutes all wallpapers.
-control unmute
# Open Wallpaper
Loads a new wallpaper for a given monitor or the first monitor if none was specified. You can use either the location
or monitor
parameter to choose which monitor to load the wallpaper on, or open a wallpaper in a window with the playInWindow
parameter.
-control openWallpaper -file <string> [-location <string>] [-monitor <number>]
[-playInWindow <string>] [-width <number>] [-height <number>]
[-x <number>] [-y <number>] [-preset <string>]
- file: Path to the project.json of the wallpaper you want to open or direct path to wallpaper file (.mp4 etc).
- location (optional): Internal identifier of the monitor. You can find these in the config.json file and they are generated by your PC.
- monitor (optional): Index of the monitor to load the wallpaper on, begins with 0.
- preset (optional): Name of the local preset to load, the local preset must have been created and saved by you before.
- playInWindow (optional): Name of the window if you want to open/control multiple wallpapers in a window.
- width (optional): Width of window.
- height (optional): Height of window.
- x (optional): Horizontal position of window.
- y (optional): Vertical position of window.
# Next Wallpaper
Skips to the next wallpaper of a given monitor or all monitors if none specified.
-control nextWallpaper [-location <string>] [-monitor <number>]
# Remove Wallpaper
Removes a wallpaper from a specified monitor or window or removes all wallpapers.
-control closeWallpaper [-location <string>] [-monitor <number>]
- location (optional): Internal identifier of the monitor or the window name you specified.
- monitor (optional): Index of the monitor to close the wallpaper from, begins with 0.
# Open Playlist
Loads a new wallpaper for a given monitor or the first monitor if none was specified. You can use either the location or monitor parameter to choose which monitor to load the wallpaper on.
-control openPlaylist -playlist <string> [-location <string>] [-monitor <number>]
- playlist: Name of the playlist you have created and saved in Wallpaper Engine.
- location (optional): Internal identifier of the monitor. You can find these in the config.json file and they are generated by your PC.
- monitor (optional): Index of the monitor to load the playlist on, begins with 0.
# Apply Wallpaper Settings
Applies wallpaper properties on-the-fly to a given wallpaper or all wallpapers. This allows you to dynamically change any settings that belong to a wallpaper while the program is running without opening the wallpaper browser and manually changing them. You can find a list of available properties in the browser easily by clicking on Share JSON on the right-side when selecting any wallpaper in the browser.
-control applyProperties -properties <JSON> [-location <string>] [-monitor <number>]
- properties: Properties defined as JSON string to be applied. The string must be specially escaped with
RAW~(
and)~END
as delimiters - see examples below! - location (optional): Internal identifier of the monitor or the window name you specified.
- monitor (optional): Index of the monitor to update the properties on, begins with 0.
Example of changing a wallpaper setting named rate
to 10:
-control applyProperties -properties RAW~({"rate":10})~END
Example of changing a wallpaper scheme color setting to red ("1 0 0"
represents RGB values):
-control applyProperties -properties RAW~({"schemecolor":"1 0 0"})~END
# Hide Desktop Icons
Hides the desktop icons.
-control hideIcons
# Show Desktop Icons
Shows the desktop icons.
-control showIcons