Re: Display sleep vs. enterFullScreenMode
Re: Display sleep vs. enterFullScreenMode
- Subject: Re: Display sleep vs. enterFullScreenMode
- From: "Sean McBride" <email@hidden>
- Date: Wed, 31 Dec 2008 19:34:06 -0500
Shayne Wissler (email@hidden) on 2008-12-31 3:11 PM said:
>I have an application that uses NSView's
>enterFullScreenMode/exitFullScreenModeWithOptions in order to toggle
>between fullscreen and normal display mode. Evidently, the default
>behavior while in full screen mode is to disable OSX's display sleep
>timer. How can I re-enable it? I do not want my application to
>interfere with the user's default sleep settings (unless my
>application explicitly needs to when it's in a given mode--but that
>doesn't depend on whether it's in fullscreen or normal mode).
I can confirm your results. enterFullScreenMode is not documented to
have that effect. It ends up calling CGDisplayCapture(), perhaps it is
responsible for that.
Sigh. Another reason to avoid enterFullScreenMode I'm afraid. Here's
my list of why:
- prevents display sleep
- does not allow menubar to autoshow/hide
- does not allow dock to autoshow/hide
- does not allow cmd-tabbing between apps
- does not allow exposé to be invoked
- invoking force quit kills the app instead of showing force quit dialog
- documentation says you can choose the window level
(NSFullScreenModeWindowLevel), but implementation does not honour it,
instead always uses kCGMaximumWindowLevel-1.
- using SetSystemUIMode() does not work with enterFullScreenMode
- other apps are not notified when your app goes fullscreen
(kEventAppSystemUIModeChanged Carbon event)
- going fullscreen invokes "-(void)viewWillMoveToSuperview:
(NSView*)newSuperview" with a nil newSuperview. This is the condition
that one generally uses to call unbind: on one's view.
<http://homepage.mac.com/mmalc/CocoaExamples/controllers.html#unbinding>
Hopefully in 10.6 this API will become usable.
Sean
_______________________________________________
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