rocksdanister / lively

Free and open-source software that allows users to set animated desktop wallpapers and screensavers powered by WinUI 3.
https://rocksdanister.com/lively
GNU General Public License v3.0
15.09k stars 1.06k forks source link

Improve Lively Commandline Utility #1027

Open rocksdanister opened 2 years ago

rocksdanister commented 2 years ago

Implement two way communication and better UI for livelycu now that we are having grpc server running.

03302024 commented 7 months ago

Just a follow up for this feature request.

rocksdanister commented 7 months ago

Do you know any good commandline utility app I can take a look at for design ideas?

03302024 commented 7 months ago

Do you know any good commandline utility app ... ?

There are two good command line apps I can think of:

And, these are command line parameters that are more useful: --showapp true --showapp false --setwp --file "VideoFilePath2" --monitor 2 --setwp --file "VideoFilePath1" --monitor 1 --play true --monitor 2 --play true --monitor 1 --play false --monitor 2 --play false --monitor 1 --closewp --monitor 2 --closewp --monitor 1 --shutdown true

It would be nice to be able to pass on several parameters in one go, rather than calling the app several times. Also, right now, "VideoFilePath" cannot be set, as it only accepts folder paths containing "LivelyInfo.json" files.

03302024 commented 5 months ago

I tried the command line parameters on the new version, and they work much better now.

One question:

I would like to load the app minimized (to the tray), but not play any wallpapers. Right now, when lively.exe is run, it plays the previously selected wallpaper. So, I first run this: lively.exe --showApp false I wait for lively to load and then I run this: lively closewp --monitor -1

I wish there was a parameter like this, to just load the app: lively nowallpaper --monitor -1

rocksdanister commented 5 months ago

So, I first run this: lively.exe --showApp false

Lively does not support passing command parameters on startup except for few special commands right now.

I would like to load the app minimized (to the tray), but not play any wallpapers.

What is your use case for this feature?

03302024 commented 5 months ago

What is your use case for this feature?

It takes a few seconds for lively.exe to load. I want to load lively.exe beforehand and have it ready for when I want to play a wallpaper. Then, playing wallpper would start instantly.

rocksdanister commented 5 months ago

There are ways to start Lively early: https://github.com/sylveon/EarlyStart (I haven't tested.)

In this context I don't really get exactly how you are loading it early.. but this is getting off-topic.

03302024 commented 5 months ago

By early, I mean earlier than when I need to play a wallpaper video.

how you are loading it early

I first run this: lively.exe I wait for lively to load and then I run this: lively.exe closewp --monitor -1 later on, when I run this, the video file plays instantly: lively.exe setwp --file FilePath --monitor 1

03302024 commented 5 months ago

Lively does not support passing command parameters on startup except for few special commands right now.

Can you please say what commands are those "few special commands"?

rocksdanister commented 5 months ago

https://github.com/rocksdanister/lively/wiki/Command-Line-Controls#screen-saver

rocksdanister commented 5 months ago

In the future all commands will be processed in startup, its just require some rewrite of existing code.

03302024 commented 5 months ago

That would be great! Thank you for taking the time to make it happen :)

Please also consider adding a new commandline parameter not to load any wallpaper at start up (Lively just sit in the tray area).

rocksdanister commented 5 months ago

I am rejecting that one, the use case you mentioned don't make sense to me and its not worth the trouble maintaining (Parts of the program relies on Core being initialized.)

03302024 commented 5 months ago

Your app, your choice.

May be after implementing "processing commands at app startup", such use case I explained above, would be alleviated.