# 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