-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Command Line Controls
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
Note:
There will be a 1sec delay for script execution if you directly send message to Lively executable instead of the command utility
Open Lively main application.
--showApp <state>
state: true/false - open/minimize Lively tray application.
Close all wallpapers and exit Lively.
--shutdown <state>
state: true/false
Control wallpaper playback state.
--play <state>
state: true/false
- play/pause wallpapers.
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)
Control desktop icon visibility.
--showIcons <state>
state: true/false - show/hide desktop icons.
Show currently running wallpaper as screen saver.
screensaver --show <state>
state: true/false - start/stop screen saver.
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.)
Set wallpaper project to primary screen.
setwp --file "C:\Users\rocks\AppData\Local\Lively Wallpaper\Library\wallpapers\xyz"
Import and set file as wallpaper to screen 1.
setwp --file "D:\media\video.mp4" --monitor 1
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.
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
For webpages only value of 0 have effect which reloads the page.
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"
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.
The following AutoHotkey scripts execute when Win + Z
key is pressed.
Requires adding Lively command utility to system PATH variable.
Toggle wallpaper volume between 0 and 75.
toggle:= false
; hotkeys - winkey-z
#z::
toggle := !toggle
If toggle
{
Run cmd.exe /c livelycu.exe app --volume 0,,hide
}
else
{
Run cmd.exe /c livelycu.exe app --volume 75,,hide
}
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.
}
#z::
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
C:\Users\rocks\Documents\GIFS\Car.gif
Sets a random hue value for the running wallpaper.
#z::
command := "livelycu.exe setprop --property hue=" . random(-100,100)
Run cmd.exe /c %command%,,hide
random( x, y )
{
Random, var, %x%, %y%
return var
}
Skips forward/backward wallpaper playback position by 10 percentage.
; hotkeys - winkey-z
#z::
command := "livelycu.exe seekwp --value +10"
Run cmd.exe /c %command%,,hide
Set currently running wallpaper(s) as fullscreen screen saver(s.)
#z::
Run cmd.exe /c livelycu.exe screensaver --show true,,hide
The following Rainmeter meters require adding Lively command utility to system PATH variable.
In this example color of wallpaper is changed based on time of day.
[Rainmeter]
Update=1000
AccurateText=1
[Metadata]
Name=Lively Hue
Author=rocksdanister
Information=Cycles different video hue property based on time.
Version=1.0
License=Creative Commons Attribution - Non - Commercial - Share Alike 3.0
[Variables]
[MeterDummy]
Meter=String
[MeasureRunDay]
Measure=Plugin
Plugin=RunCommand
Program=livelycu.exe
Parameter=setprop --property hue=-40
State=Hide
[MeasureRunNight]
Measure=Plugin
Plugin=RunCommand
Program=livelycu.exe
Parameter=setprop --property hue=70
State=Hide
[MeasureHour]
Measure=Time
Format=%H
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.
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.Connect();
connection.UserDataReceived += UserDataReceived;
Console.ReadKey();
}
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..
livelywpf.Helpers.PipeClient.SendMessage(
pipeServerName,
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() {
Sharer.run();
Sharer.print(readRotatory());
}
int readRotatory(){
static int pos = 0;
encoder.tick();
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;
}
- Home
- Getting Started
- Video Wallpaper
- Streaming Wallpaper
- Application Wallpaper
- GIF Wallpaper
- Web Wallpaper
- Machine Learning
- Screen Saver
- Performance
- Command Line Controls
- Taskbar Customization
- Theme
- Differences Between Distributions
- Common Problems
- Building
- Contributing Guidelines
- Wallpaper Tutorials