<!--
{
  "availability" : [
    "macOS: 10.6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSApplication/PresentationOptions-swift.struct",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:@E@NSApplicationPresentationOptions"
  },
  "title" : "NSApplication.PresentationOptions"
}
-->

# NSApplication.PresentationOptions

Constants that control the presentation of the app, typically for fullscreen apps such as games or kiosks.

```
struct PresentationOptions
```

## Overview

There are restrictions on the combination of presentation options that can be set simultaneously:

- [`autoHideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideDock) and [`hideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideDock) are mutually exclusive: You may specify one or the other, but not both.
- [`autoHideMenuBar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideMenuBar) and [`hideMenuBar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideMenuBar) are mutually exclusive: You may specify one or the other, but not both.
- If you specify [`hideMenuBar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideMenuBar), it must be accompanied by [`hideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideDock).
- If you specify [`autoHideMenuBar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideMenuBar), it must be accompanied by either [`hideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideDock) or [`autoHideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideDock).
- If you specify any of [`disableProcessSwitching`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableProcessSwitching), [`disableForceQuit`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableForceQuit), [`disableSessionTermination`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableSessionTermination), or [`disableMenuBarTransparency`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableMenuBarTransparency), it must be accompanied by either [`hideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideDock) or [`autoHideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideDock).
- [`autoHideToolbar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideToolbar) may be used only when both [`fullScreen`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/fullScreen) and [`autoHideMenuBar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideMenuBar) are also set.

When [`NSApplication`](/documentation/AppKit/NSApplication) receives a parameter value that does not conform to these requirements, it raises an <doc://com.apple.documentation/documentation/Foundation/NSExceptionName/invalidArgumentException>.

## Topics

### Presentation Options

[`NSApplicationPresentationDefault`](/documentation/AppKit/NSApplicationPresentationOptions/NSApplicationPresentationDefault)

This is the default presentation mode.

[`autoHideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideDock)

The dock is normally hidden, but automatically appears when moused near.

[`hideDock`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideDock)

The dock is entirely hidden and disabled.

[`autoHideMenuBar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideMenuBar)

The menu bar is normally hidden, but automatically appears when moused near.

[`hideMenuBar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/hideMenuBar)

The menu bar is entirely hidden and disabled.

[`disableAppleMenu`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableAppleMenu)

All Apple Menu items are disabled.

[`disableProcessSwitching`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableProcessSwitching)

The process switching user interface (Command + Tab to cycle through apps) is disabled.

[`disableForceQuit`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableForceQuit)

The force quit panel (displayed by pressing Command + Option + Esc) is disabled

[`disableSessionTermination`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableSessionTermination)

The panel that shows the Restart, Shut Down, and Log Out options that are displayed as a result of pushing the power key is disabled.

[`disableHideApplication`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableHideApplication)

The app’s “Hide” menu item is disabled.

[`disableMenuBarTransparency`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableMenuBarTransparency)

The menu bar transparency appearance is disabled.

[`fullScreen`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/fullScreen)

The app is in fullscreen mode.

[`autoHideToolbar`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/autoHideToolbar)

When in fullscreen mode the window toolbar is detached from window and hides and shows with autoHidden menuBar.

[`disableCursorLocationAssistance`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/disableCursorLocationAssistance)

The behavior that allows the user to shake the mouse to locate the cursor is disabled.

### Initializers

[`init(rawValue:)`](/documentation/AppKit/NSApplication/PresentationOptions-swift.struct/init(rawValue:))

Initializes a new presentation options structure.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)