---
title: NSApplication.PresentationOptions
framework: appkit
role: symbol
role_heading: Structure
path: appkit/nsapplication/presentationoptions-swift.struct
---

# NSApplication.PresentationOptions

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

## Declaration

```swift
struct PresentationOptions
```

## Overview

Overview There are restrictions on the combination of presentation options that can be set simultaneously: autoHideDock and hideDock are mutually exclusive: You may specify one or the other, but not both. autoHideMenuBar and hideMenuBar are mutually exclusive: You may specify one or the other, but not both. If you specify hideMenuBar, it must be accompanied by hideDock. If you specify autoHideMenuBar, it must be accompanied by either hideDock or autoHideDock. If you specify any of disableProcessSwitching, disableForceQuit, disableSessionTermination, or disableMenuBarTransparency, it must be accompanied by either hideDock or autoHideDock. autoHideToolbar may be used only when both fullScreen and autoHideMenuBar are also set. When NSApplication receives a parameter value that does not conform to these requirements, it raises an invalidArgumentException.

## Topics

### Presentation Options

- [autoHideDock](appkit/nsapplication/presentationoptions-swift.struct/autohidedock.md)
- [hideDock](appkit/nsapplication/presentationoptions-swift.struct/hidedock.md)
- [autoHideMenuBar](appkit/nsapplication/presentationoptions-swift.struct/autohidemenubar.md)
- [hideMenuBar](appkit/nsapplication/presentationoptions-swift.struct/hidemenubar.md)
- [disableAppleMenu](appkit/nsapplication/presentationoptions-swift.struct/disableapplemenu.md)
- [disableProcessSwitching](appkit/nsapplication/presentationoptions-swift.struct/disableprocessswitching.md)
- [disableForceQuit](appkit/nsapplication/presentationoptions-swift.struct/disableforcequit.md)
- [disableSessionTermination](appkit/nsapplication/presentationoptions-swift.struct/disablesessiontermination.md)
- [disableHideApplication](appkit/nsapplication/presentationoptions-swift.struct/disablehideapplication.md)
- [disableMenuBarTransparency](appkit/nsapplication/presentationoptions-swift.struct/disablemenubartransparency.md)
- [fullScreen](appkit/nsapplication/presentationoptions-swift.struct/fullscreen.md)
- [autoHideToolbar](appkit/nsapplication/presentationoptions-swift.struct/autohidetoolbar.md)
- [disableCursorLocationAssistance](appkit/nsapplication/presentationoptions-swift.struct/disablecursorlocationassistance.md)

### Initializers

- [init(rawValue:)](appkit/nsapplication/presentationoptions-swift.struct/init(rawvalue:).md)

### Type Properties

- [disableScreenCornerInteractions](appkit/nsapplication/presentationoptions-swift.struct/disablescreencornerinteractions.md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [ExpressibleByArrayLiteral](swift/expressiblebyarrayliteral.md)
- [OptionSet](swift/optionset.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [SetAlgebra](swift/setalgebra.md)

## See Also

### Managing the app’s appearance

- [appearance](appkit/nsapplication/appearance.md)
- [effectiveAppearance](appkit/nsapplication/effectiveappearance.md)
- [currentSystemPresentationOptions](appkit/nsapplication/currentsystempresentationoptions.md)
- [presentationOptions](appkit/nsapplication/presentationoptions-swift.property.md)
- [applicationShouldSuppressHighDynamicRangeContent](appkit/nsapplication/applicationshouldsuppresshighdynamicrangecontent.md)
