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
14.78k stars 1.05k forks source link

Pause by screen coverage #99

Closed tbmale closed 4 years ago

tbmale commented 4 years ago

Hi, I've discovered lively and it rocks!

Can there be a setting for pausing the desktop background process when windows covering the desktop is superior to a certain percentage ?

Could be also useful for maximized game windows...

rocksdanister commented 4 years ago

Can I have an example/reason for this use case? Currently lively pauses wallpaper if window is greater than 90% screensize or maximised. You can also add individual rules for pause/unpause in Application Rules for different running process.

tbmale commented 4 years ago

There is more often than not that we have multiple windows that together will hide the background (almost) completely. I think there is no point in running wallpapers when that happens.

rocksdanister commented 4 years ago

Hmm I get what you are saying. Currently there are two algorithms: Foreground Process and All Process.

Foreground Process

Only checks the single foreground application and least heavy, ~0-0.1% usage on my 4core cpu at idle clocks.

All Process

Scans all running process and covers some edge cases where the first algorithm fails but heavier to run, ~1+ depending on the number of connected screens.

I do want to revamp All Process to take into consideration multiple window positions and size combination to calculate if everything combined is close to screen size.

Current All Process has some issues to iron out such multimonitor support, reducing usage, false application detection like overlay software etc.. before I can proceed with the revamp; most likely after Lively v1.0 release.

I feel like what you are suggesting is a temporary workaround and as implementing it will involve the process of writing the UI code, localization texts, testing and maintenance etc which at the end will be removed when the new All Process algorithm is ready therefore I will not be implementing this particular feature.