Question

Working on a small app for a kiosk-like setting where the Mac that the app will run on is only used for playing videos in a loop. Is there some way to have the app take over the screen completely? Making the window be fullscreen is not a problem, nor is hiding the mouse cursor, but can we get it to completely hide stuff like notifications, messages about bluetooth devices connecting/disconnecting etc?

Ideally I'd like some way of setting the window level like on iOS, to make sure that anything that pops up on screen will be behind the window I'm presenting.

Was it helpful?

Solution

First, you should read Apple's documentation on creating kiosks:
Technical Note TN2062: Creating Kiosks
Kiosk Mode Programming Topic

If you would "like some way of setting the window level like on iOS", you should be aware of -[NSWindow setLevel:].

To completely prevent anything else from using the screen, you'll want to capture it. The Kiosk Mode Programming Topic mentions one approach using the presentation options. You can also use Quartz Display Services directly (e.g. CGCaptureAllDisplays()).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top