rocksdanister/lively

Wallpaper Playlist/Slideshow - Change wallpaper based on conditions.

rocksdanister opened this issue ยท 20 comments

Is your feature request related to a problem? Please describe.
To change wallpaper you need to open the application and select the tile, as Lively supports many types of wallpaper it would be interesting to have the wallpaper change automatically without user intervention based on certain conditions.

Describe the solution you'd like
wallpaper playlist would allow users to queue wallpapers to change automatically based on certain conditions such as time of day, shuffle, system sleep on-off, battery power state, windows startup and so on.

Describe alternatives you've considered
Currently it is possible to make a custom webpage and change its contents only, but it is not possible to change any of the lively wallpapers.

Additional context
Need to consider all cases, Wallpapers should not be changed if user is currently not on desktop! (so if user is ingame for say 8-9pm and the wallpaper was queued for 8 then it will be only changed after 9 if no new wallpaper is set for 9.)

The UI needs to be simple, ideally should look like a timeline.

If I use task scheduler is it possible to delay the switch during gaming session/fullscreen app foreground?

ideally a command line to exit the app (but not absolutely necessary)

I think there is a misunderstanding, Lively core needs to run always - the wallpapers (wallpaper players are separate programs) are set to close themselves if core is shutdown unexpectedly/normally; core is responsible for automatic wallpaper play/pause etc..

Commandline #61 support is mostly for interacting with Lively through other applications or some unique automation cases for power users.

the whole "timeline" style feature alluded to above would be fully doable, given the user knows to set tasks within Windows.

Playlist will be built into Lively and will be handled by Lively itself, commandline and taskscheduler can be used but that is not easily accessible to the average user which is Lively's focus.

Lively could also create the task scheduler entries through a UI: the task scheduler msg execute Lively with comandline arg -> Lively detects already running instances -> passes the msg to the running Lively -> loads it into queue and see if any foreground app running and wait till user on desktop to set wallpaper.

It just seems like additional steps and complication - having to remove the task scheduler entries on Lively uninstall, querying the entry to populate the UI, customising existing entry etc..

These library looks like an easy way to do it within lively itself:
https://www.quartz-scheduler.net/
https://www.hangfire.io/overview.html

New suggestion: ability to pause wallpaper at certain time frames.
Example: Between midnight and 8am, any current wallpaper is paused.

I started working on this, next update will have playlist support if things go as planned. coming soon.

I made a tutorial switching/changing wallpaper property using the new command line controls and task scheduler:
https://youtu.be/iEb5DVMz3Ds

Wallpaper shuffle using AutoHotKey and commandline controls:
https://github.com/rocksdanister/lively/wiki/Command-Line-Controls#autohotkey

2202l commented

Hi,
I recently watched the tutorial for changing wallpapers and automating this process via task scheduler.
One drawback that I found is that, if I want to switch between wallpapers when certain conditions are met, the other wallpapers need to be in different libraries.
Since I particularly like the rain effect and customization options, I opened the file location for the rainv2 library and copied the contents.
I then created additional libraries and pasted the copied folders and files into these directories. Afterwards I edited the info file to display individual names for each new library.
Now I have multiple libraries with the same rain effect but each with one different wallpaper.

The rest I basically copied from your video, although I made one or two alterations.
I now have three files for the automatic changes.
One wallpapers.txt which contains the absolute paths to the different wallpaper-libraries. One line for each path.
One wallpaper.ps1 which takes a random line from the .txt file and then changes the wallpaper via livelycu.exe setwp --file โ€œRandomLineHereโ€
And lastly one batch file and its shortcut which executes the .ps1 script in powershell.

The batch file is now executed thirty seconds after login of any user via task scheduler.
Since this is literally the first time I have ever used the Windows Powershell and/or have written scripts for windows I have no particular Idea if this is far too complicated for its own good or halfway acceptable.

My files look like this:

wallpapers.txt

`C:\Users\UsrName\AppData\Local\Lively Wallpaper\Library\wallpapers\wp01

C:\Users\ UsrName \AppData\Local\Lively Wallpaper\Library\wallpapers\wp02

C:\Users\ UsrName \AppData\Local\Lively Wallpaper\Library\wallpapers\wp03

C:\Users\UsrName\AppData\Local\Lively Wallpaper\Library\wallpapers\wp04

C:\Users\UsrName\AppData\Local\Lively Wallpaper\Library\wallpapers\wp05

C:\Users\UsrName\AppData\Local\Lively Wallpaper\Library\wallpapers\wp06

C:\Users\UsrName\AppData\Local\Lively Wallpaper\Library\wallpapers\wp07

C:\Users\UsrName\AppData\Local\Lively Wallpaper\Library\wallpapers\wp08
`

wallpapers.ps1

`$Randomline=Get-Random -InputObject (get-content C:\lively\Wallpapers.txt)

livelycu.exe setwp --file $Randomline`

wallpapers.bat

Powershell.exe -executionpolicy remotesigned -File wallpapers.ps1

Much thanks for this lovely program.

@2202l just setwp then customize it after ~5sec delay(to wait for it to load) using setprop; no need for multiple wallpaper:
https://github.com/rocksdanister/lively/wiki/Command-Line-Controls#customize-wallpaper

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

Also please don't modify the Lively working directly, it should only be modified by the application itself.

2202l commented

Thank you for the quick answer. I will alter it shortly.

@rocksdanister I think it would be cool if it could have an option to change with Windows Dark & Light Theme so it can be used with software like https://github.com/AutoDarkMode/Windows-Auto-Night-Mode !

One light wallpaper and one dark wallpaper :)

Are we getting soon the wallpaper playlist changes? I am waiting for some time this update :D @rocksdanister

Its planned for v1.8 release:
https://github.com/rocksdanister/lively/milestone/2

I don't have an exact date I can give you though.

Maybe possibility to include some weather service so it can change depending on rain or sun + time?๐Ÿ˜„

image
image
image

UX Idea for Wallpaper Playlist

You could add Wallpapers to the Playlist by Rightclick on Library -> Add to Playlist

Good suggestion, post the UI in the redesign issue #969

Potentially make a time range setup, that changes the wallpaper based on preset times of day. I might try making this in python since it has some packages that might be of use.

Like add a new tab menu to setup time customization.

Would be cool to have wallpaper change based on if dark theme is enabled (system settings) or if it's after dark (the way f.lux works)

Just adding that I would love to have a wallpaper slideshow like you traditionally see in Windows when selecting a folder for wallpapers. In particular, I wish that we could select a folder of photos, then Lively would recursively search inside the folder for additional images, and also automatically detect new additions. I don't need any particular settings to control when certain images show, although I'm liking the suggestions people are adding here and might try them myself when it gets implemented.

Thank you!

Still working on this?

Yes, doing it for next feature update.