Omnis Version for Mac OS X Mavericks (app nap)

Michael Monschau michael at brainydata.co.uk
Tue Jul 22 11:47:52 EDT 2014


Hi all:

There may be a way to do this programatically from c++ via the NSProcessInfo class. This class has a method called beginActivityWithOptions and endActivity which act on the current application process (I believe) and the options include things like NSActivityIdleDisplaySleepDisabled, NSActivityIdleSystemSleepDisabled and NSActivityAutomaticTerminationDisabled. These could be options that may prevent the App Nap but I am not certain. Unless someone else has already looked at these and found they do not work, I can raise a technical query with Apple as I have support with them and see if these indeed would do the trick. If they do, theoretically it should be possible to create external functions that could be called from Omnis 4GL, but it may take some playing around. I suspect it would require one to build with the 10.9 Mac OS SDK. I am not entirely set up for that but I could be as I have a 10.9 system on a spare disk, unless someone else wants to have a go.

Regards,
Michael

Michael Monschau (Director)
Brainy Data Limited

Reply To: michael at brainydata.co.uk
Phone: +44 (0)870 474 0708
Web: www.brainydata.co.uk the home of Omnis Components and Developer Services






On 21 Jul 2014, at 18:10, Doug Easterbrook wrote:

> hi all:
> 
> you might be able to turn App Nap off programatically, but it doesn't apply to an already running copy of omnis -- you'd have to quit and restart omnis to make it go away.
> 
> you can disable it completely via command line and that seems to survive a restart, but I don't think it wise at the moment to do a global change.
> http://osxdaily.com/2014/05/13/disable-app-nap-mac-os-x/
> 
> (terminal command:  defaults write NSGlobalDomain NSAppSleepDisabled -bool YES  )
> 
> or you can disable it on a command line basis for the duration of a login (its reset on next restart).
> http://cobbservations.wordpress.com/2013/11/05/disabling-app-nap-in-os-x-mavericks/
> 
> (terminal command:  defaults write <app domain name> NSAppSleepDisabled -bool YES  )
> 
> 
> kelly's solution is a variant of the second version stuck into a launchd script for a server based version of studio.
> 
> it still doesn't help if you want to disable app nap for a version of studio running with an interface --- where you might have some reports running and click studio to the background, expecting them to run.       In such as case, you either completely disable app nap --- or disable it once, restart studio and then you are good till the next restart of your machine.
> 
> there is no way that I've found to interrogate it or turn it off for the current running application -- or to create an installer that sets it up turned off for that application only.
> 
> 
> app nap is just not friendly and it affects all applications equally.
> 
> if somebody comes up with a creative solution for turning it off at run time, I'd love to hear it too.   For now, we've gone with an implementation checklist that tells clients and our support team to turn it off
> 
> 
> 
> Doug Easterbrook
> Arts Management Systems Ltd.
> mailto:doug at artsman.com
> http://www.artsman.com
> Phone (403) 536-1205    Fax (403) 536-1210
> 
> On Jul 21, 2014, at 10:00 AM, omnisdev-en-request at lists.omnis-dev.com wrote:
> 
>> Kelly had a post with a possible Applescript solution. I haven’t tried it, maybe someone else has…
>> 
>> http://omnis-dev.com/pipermail/omnisdev-en/2013-November/025527.html
>> 
>> 
>> On Jul 18, 2014, at 12:51 AM, Reg Paling <Reg.Paling at Lokanet.com> wrote:
>> 
>>> Hi Todd,
>>> 
>>> Thanks - turning off App Nap has done the trick for our clients too.  So what this means is - if you are using Studio with native datafile on Mavericks, you'll get crashes unless you prevent App Nap.
>>> 
>>> Does anyone have any code to check that App Nap is disabled for Omnis?
>>> 
>>> Cheers,
>>> Reg
> 
> _____________________________________________________________
> Manage your list subscriptions at http://lists.omnis-dev.com




More information about the omnisdev-en mailing list