Re: Minimizing my app kills timer ?
Re: Minimizing my app kills timer ?
- Subject: Re: Minimizing my app kills timer ?
- From: Alex Zavatone via Cocoa-dev <email@hidden>
- Date: Fri, 8 May 2020 12:42:20 -0500
What if you spawned another process (NSTask?) from the screensaver and tested
if a timer works in that? It’s hokey as hell, but I use this approach to
monitor a running process and do things when its state changes to suspended.
See if you can fire off a process and have a timer in it that logs the time and
some string every 10 seconds. Then minimize your screensaver and see what
happens.
Various appendages crossed for you. Sending thoughts and prayers.
Good luck.
Alex Zavatone
> On May 4, 2020, at 8:33 AM, Steve Mills via Cocoa-dev
> <email@hidden> wrote:
>
> On May 4, 2020, at 03:28:23, Gabriel Zachmann <email@hidden> wrote:
>>
>> You mean, it could happen that Apple decides to make ScreenSaverView a
>> subclass of some class other than NSView ?
>> (currently, it is a subclass of NSView)
>
> No, I mean just what I said. It's not guaranteed or even suggested that
> ScreenSaverView be used with anything other than a screensaver.
>
>> I agree that with Apple you never know what massive changes are waiting
>> around the corner. But, are there other reasons why you recommend against
>> using ScreenSaverView?
>
> The screensaver animation in macOS is reliant on the engine that drives it.
> Recently that changed from an older engine to what we can only guess is a
> newer one, but some of them still run in what is known as a newly named
> legacyScreenSaver, yet ScreenSaverEngine still fits in there somehow. We
> don't know how it works and we don't *need* to know. Screensaver engines run
> in a very controlled and limited environment. They need to be efficient. They
> need to treat user input differently. They treat activation totally
> differently. When you start trying to force such an engine to run in a normal
> app that can deactivate, hide, minimize, etc, you're throwing it all kinds of
> things it isn't designed to handle.
>
> If you really want to run your screensaver animation in a non-screensaver
> app, you'll need to control the animation, and rework your classes so you
> have one class that is used by both the screensaver and your app, and do the
> actual drawing in that class. It will be called by animateOneFrame in the
> screensaver and by what animation engine you come up with in your app.
>
> --
> Steve Mills
> Drummer, Mac geek
>
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden