Full-Screen Mode

An app window in full-screen mode offers a distraction-free working environment, often hiding toolbars, menus, and other standard controls until people want them. Some apps hide all controls to increase the focus on content — for example, QuickTime Player hides app controls while people are playing a movie.

A screenshot of a full-screen Calendar window on a MacBook Pro.

Enable full-screen windows only when it makes sense in your app. People appreciate full-screen mode when they want to perform an immersive task, but not every app enables such tasks. For example, Calculator doesn’t need to offer a full-screen experience, because people generally use it to perform calculations and paste the results into other locations.

Use the system-provided full-screen experience. Using the system’s full-screen support ensures that your full-screen window works well in all contexts. For developer guidance, see toggleFullScreen(_:).

If you use custom full-screen support, rely on system-defined areas to keep your full-screen window content unobscured. On some Macs, the camera housing occupies an area at the top-center of the screen. Using the system’s full-screen support automatically accounts for this area; if you use a custom full-screen experience, you need to account for this area as you position your content. The system provides two ways to help you position content when using a custom full-screen experience:

  • The safeAreaInsets property contains top, bottom, left, and right values that define the safe area of the screen. Use the top value to inset your content from the top of the screen so that it remains unobscured.
  • The auxiliaryTopLeftArea and auxiliaryTopRightArea properties define the rectangles at the top of the screen that represent unobscured areas left and right of the camera housing and outside of the safe area.

Keep the toolbar visible when it’s necessary for accomplishing tasks; hide it when the focus is on content. You can set a full-screen window to show the toolbar all the time, or only when people move the pointer to the top of the screen. Calendar, for example, always displays the toolbar, providing quick access to essential navigation and schedule-management controls. On the other hand, Preview hides the toolbar so people can focus on reading or viewing content.

Maintain access to essential features. Make sure all essential tools remain available in the full-screen environment. People need to be able to complete tasks without exiting full-screen mode.

TIP On equipped MacBook Pro models, you can use the Touch Bar to provide direct access to common functions without displaying controls on top of other content or requiring people to move the pointer. For guidance, see Touch Bar > Design Fundamentals.

Configure auxiliary windows for use in full-screen mode. Full-screen auxiliary windows need proper configuration to display above full-screen content. For developer guidance, see fullScreenAuxiliary.

Give people convenient ways to access the file system during full-screen mode. Don’t make people exit full-screen mode to open files, import images, save files, or perform other file system interactions. For example, you might implement a built-in image browser that lets people import images while they’re in full-screen mode.

Take advantage of the full-screen space, but keep your interface transitions smooth. Most windows grow in width and height when they enter full-screen mode. To ensure your window fits well into the full-screen space, and to elevate essential areas, consider subtly adjusting the proportions of your interface. If this makes sense in your app, avoid jarring transitions and make sure your interface remains instantly recognizable.

Always let people enter Mission Control. Even when your app is the only thing in focus, people expect to invoke Mission Control to preview and navigate other open windows, full-screen apps, desktops, and spaces. Respect the keyboard shortcuts and gestures people use to enter Mission Control, regardless of the type of experience your app enables.

After people switch away from your full-screen app, help them resume where they left off when they return. For example, a game or a slideshow needs to pause automatically when people leave the app so they don’t miss anything.

Let people choose when to exit full-screen mode. Avoid exiting full-screen mode automatically when people switch to another app or when they finish an activity, like playing a movie or game.

In general, let people reveal the Dock. It’s important to preserve access to the Dock when your app is in full-screen mode so people can quickly open apps and other Dock items. An exception to this is in an immersive game where the edges of the screen enable part of the experience.