Skip to content

Command Line Controls

Dani John edited this page Mar 18, 2023 · 204 revisions

Lively can be controlled with commands from terminal which allows interaction through scripts or third party applications.



Make sure Lively is already running and then send the commands through its main executable.

(Alternatively download the command utility which includes --help documentation and also if required set it as PATH for easy access.)

For example the wallpaper audio can by muted by running the following commands

without PATH variable:

<install_location>\livelywpf.exe app --volume 0

with PATH variable and command utility:

livelycu app --volume 0


There will be a 1sec delay for script execution if you directly send message to Lively executable instead of the command utility


Open Application

Open Lively main application.

--showApp <state>

state: true/false - open/minimize Lively tray application.

Quit Application

Close all wallpapers and exit Lively.

--shutdown <state>

state: true/false

Wallpaper Playback

Control wallpaper playback state.

--play <state>

state: true/false - play/pause wallpapers.

Wallpaper Volume

Set global sound level of all wallpapers.

--volume <volume-level>

volume-level: Number in the range 0-100.


Take wallpaper screenshot.

screenshot --file <file-path> --monitor <screen-id>

screen-id: (optional) The screen number as seen in Lively control panel, if not given primary screen is default.

file-path: Screenshot savefile location (.jpg)

Desktop Icon

Control desktop icon visibility.

--showIcons <state>

state: true/false - show/hide desktop icons.

Screen Saver

Show currently running wallpaper as screen saver.

screensaver --show <state>

state: true/false - start/stop screen saver.

Set Wallpaper

setwp --file <file-path> --monitor <screen-id>

screen-id: (optional) The screen number as seen in Lively control panel, if not given primary screen is default.

file-path: Folder path containing LivelyInfo.json project file/File path of the wallpaper file.

If the file is not found in Lively's library then it is automatically imported (media files only.) currently broken 😅


Set wallpaper project to primary screen.

setwp --file "C:\Users\rocks\AppData\Local\Lively Wallpaper\Library\wallpapers\xyz"

Set wallpaper file to screen 1.

```setwp --file "D:\media\video.mp4" --monitor 1````

Close Wallpaper(s)

Closes the running wallpaper on the given screen.

closewp --monitor <screen-id>

screen-id: The screen number as seen in Lively control panel, if -1 then all wallpapers are closed.

Seek Wallpaper

Sets wallpaper playback position.

seekwp --monitor <screen-id> --value <seek_value>

screen-id: (optional) The screen number as seen in Lively control panel, if not given primary screen is default.

seek_value: Playback position value, several possible combinations given below.

  • Absolute: Percentage(0 to 100) value, seeks to the given percent position.

    Example: seekwp --value 10.5

  • Relative: Percentage(-100 to 100) value starting with + or -, seeks from the current media position.

    Example: seekwp --value +10

Special cases:

For webpages only value of 0 have effect which reloads the page.

Customize Wallpaper

Set the Lively Properties of the wallpaper.

setprop --monitor <screen-id> --property <arg>

screen-id: (optional) The screen number as seen in Lively control panel, if not given primary screen is default.

arg: LivelyProperty.json argument, syntax "keyValue=value".

  • keyValue: JSON key name.
  • value: Absolute value or Increment/decrement from current value when starting with ++/-- respectively.

Make sure to enclose the arg inside double quotes so that spaces in text are correctly parsed.

To get the keyValue navigate to the wallpaper project folder and check LivelyProperties.json file.


To change the color control:

   "backgroundColor": {
    "text": "Overlay Color",
    "type": "color",
    "value": "#C0C0C0"

setprop --monitor 1 --property "backgroundColor=#ff0000"

To increment current value from 25 to 30:

  "saturation": {
    "max": 100,
    "min": -100,
    "tick": 200,
    "text": "Saturation",
    "type": "slider",
    "value": 25

setprop --property "saturation=++5"

To change the file in folderDropdown control:

   "imgSelect": {
    "type": "folderDropdown",
    "value": "image3.jpg",
    "text": "Image",
    "filter": "*.jpg|*.png",
    "folder": "wallpapers"

setprop --monitor 1 --property "imgSelect=image1.jpg"

Special cases:

Reset properties: setprop --monitor 1 --property "lively_default_settings_reload=true"

Button press: setprop --monitor 1 --property "button_name=true"

The default Livelyproperty of media files can be referred here.


Python scripts can be used to control Lively, for example:

import subprocess

def changeProperty(name, value, monitor):
    Customize running wallpaper.
    runCommand(['setprop', f'--monitor={monitor}', f'--property={name}={value}'])

def setWallpaper(path, monitor):
    Set a wallpaper from the library.
    runCommand(['setwp', f'--monitor={monitor}', f'--file={path}'])
def runCommand(args):
    Execute lively commandline command with the list of arguments.
    Copy Livelycu.exe to the program folder or system PATH.
    """['Livelycu'] + args)

setWallpaper('D:\\test\\test_clip.mp4', 1)
#changeProperty('hue', 30, 1)


The following AutoHotkey scripts execute when Win + Z key is pressed.

Requires adding Lively command utility to system PATH variable.

Audio toggle

Toggle wallpaper volume between 0 and 75.

toggle:= false
; hotkeys - winkey-z
toggle := !toggle
If toggle
  Run cmd.exe /c livelycu.exe app --volume 0,,hide 
  Run cmd.exe /c livelycu.exe app --volume 75,,hide 

Wallpaper shuffle

Sets a random wallpaper from wallpapers.txt file.

; Create the array, initially empty:
Array := Array()

; Write to the array:
Loop, Read, wallpapers.txt ; This loop retrieves each line from the file, one at a time.
    Array.Push(A_LoopReadLine) ; Append this line to the array.

command := "livelycu.exe setwp --file " . """"Array[random(Array.MinIndex(), Array.MaxIndex())]""""
Run cmd.exe /c %command%,,hide

random( x, y )
   Random, var, %x%, %y%
   return var
C:\Users\rocks\AppData\Local\Lively Wallpaper\Library\wallpapers\aiqzbihh.0ho

Random hue (video wallpaper)

Sets a random hue value for the running wallpaper.

command := "livelycu.exe setprop --property hue=" . random(-100,100)
Run cmd.exe /c %command%,,hide

random( x, y )
   Random, var, %x%, %y%
   return var

Seek Step (video wallpaper)

Skips forward/backward wallpaper playback position by 10 percentage.

; hotkeys - winkey-z
command := "livelycu.exe seekwp --value +10"
Run cmd.exe /c %command%,,hide 

Screen saver

Set currently running wallpaper(s) as fullscreen screen saver(s.)

Run cmd.exe /c livelycu.exe screensaver --show true,,hide 


The following Rainmeter meters require adding Lively command utility to system PATH variable.

Day/Night Hue (video wallpaper)

In this example color of wallpaper is changed based on time of day.


Name=Lively Hue
Information=Cycles different video hue property based on time.



Parameter=setprop --property hue=-40

Parameter=setprop --property hue=70

IfCondition=((MeasureHour >= 6) && (MeasureHour < 18))
IfTrueAction=[!CommandMeasure "MeasureRunDay" "Run"]
IfFalseAction=[!CommandMeasure "MeasureRunNight" "Run"]


This tutorial is not updated for Lively 2.0

Full project files can be downloaded from here.

Rotary hue changer (video only)

In this example color of wallpaper is changed using rotary hardware.

C# Message receiver

class Program
  private static int hue = 0;
  private static readonly string uniqueAppName = "LIVELY:DESKTOPWALLPAPERSYSTEM";
  private static readonly string pipeServerName = uniqueAppName + Environment.UserName;

  static void Main(string[] args)
    var connection = new SharerConnection("COM3", 115200);
    connection.UserDataReceived += UserDataReceived;

  private static void UserDataReceived(object sender, UserDataReceivedEventArgs e)
    string msg = System.Text.Encoding.ASCII.GetString(e.Data);
    if (int.TryParse(msg, out int val))
      hue = val == 1 ? (hue+10) : (hue-10);
      //or execute livelycu commandline commands..
        new string[] { "setprop", "--property", "hue=" + Clamp(hue, -100, 100)});

  public static T Clamp<T>(T value, T min, T max) where T : IComparable<T>
    if (value.CompareTo(min) < 0)
      return min;
    if (value.CompareTo(max) > 0)
      return max;

     return value;

Arduino code

#include <Sharer.h>
#include <RotaryEncoder.h>

#define PIN_IN1 15
#define PIN_IN2 16

RotaryEncoder encoder(PIN_IN1, PIN_IN2, RotaryEncoder::LatchMode::FOUR3);

void setup() {
  Sharer.init(115200); // Init Serial communication with 115200 bauds

void loop() {;

int readRotatory(){
  static int pos = 0;
  int newPos = encoder.getPosition();
  if (pos != newPos){
    pos = newPos;
    int dir =(int)(encoder.getDirection());
    if ( dir == -1) 
      return 1;
    else if(dir == 1) 
      return -1;
  return 0;