Waitsnake / AnimatedGif

A screensaver for Mac OSX / macOS that plays animated GIFs and APNGs
MIT License
213 stars 31 forks source link

More ChangeInterval options? #56

Closed konecnyna closed 5 years ago

konecnyna commented 5 years ago

Right now it seems the change interval is only between 1-29minutes or never.

Would it be possible to get more options? Maybe a drop down menu of:

or Something? I would really love once a day opinion.

Waitsnake commented 5 years ago

I will think about it. Maybe the actual slider element for the time needs too replaced by a dropdown list to define such different time intervals.

konecnyna commented 5 years ago

Awesome, I'll see if I can help out with a PR over the weekend but i'm an Android dev 😬 so my objective c isn't great... haha

Waitsnake commented 5 years ago

Have a look at the new Release 1.5.3 and please do some tests.

Actually I have only tested the seconds and minutes options by myself since hours or a day are way too much time for me. But since the timers are mapped central to the interval options in the new function getIntervalFromOption() I hope it will do.

konecnyna commented 5 years ago

@Waitsnake you're amazing! I'm testing currently :)

Waitsnake commented 5 years ago

@konecnyna do you got a chance to test it a bit ?

konecnyna commented 5 years ago

I've been using it since you released and it has been working great! I haven't actually time the intervals but they seem to be working as intended.

I did notice a strange issue of the screen saver window popping out when i disconnect an external monitor or restart computer but that is prob unrelated to this change.

Feel free to close and thanks! You're awesome 😁

Waitsnake commented 5 years ago

Sorry I did not use it too often with multiple monitors by myself.

The main problem is the way I use the screensaver engine from Apple to run the screensaver as wallpaper. The engine had 4 modes preview (within the system preferences), normal (in foreground and on all monitors), background (in background and on all monitors) and window (within one small window for developer). Since the background mode was not working at all with Mojave (was in foreground and even blocked any access to get back to OS GUI) I replaced it when used as wallpaper with the window mode and change the window properties afterwards to bring them to background.

Since window mode is only one window I had to detect how many screens are there and than start multiple instances of screensaver engine for each monitor and I have to kill an instance when you remove an monitor. It seems the OS first move the window of an instance to an still existing monitor and this will lead to the "popping out" and later the OS send an notification that a monitor is missing and just than I kill this instance.

It maybe looks ugly but this was the price to still have a background mode for multiple monitors with Mojave. It is just a chain of workarounds around issues of macOS.

Anyway, I will close this issue now. :-)