<!--
{
  "availability" : [
    "macCatalyst: 13.1.0 -",
    "macOS: 10.6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreGraphics",
  "identifier" : "/documentation/CoreGraphics/CGDisplaySetDisplayMode(_:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Core Graphics"
    ],
    "preciseIdentifier" : "c:@F@CGDisplaySetDisplayMode"
  },
  "title" : "CGDisplaySetDisplayMode(_:_:_:)"
}
-->

# CGDisplaySetDisplayMode(_:_:_:)

Switches a display to a different mode.

```
func CGDisplaySetDisplayMode(_ display: CGDirectDisplayID, _ mode: CGDisplayMode?, _ options: CFDictionary?) -> CGError
```

## Parameters

`display`

The identifier of the display to configure.

`mode`

A display mode that contains information about the display mode to set.

`options`

Reserved for future expansion. Pass `NULL` for now.

## Return Value

A Core Graphics result code. To interpret the result code, see [`CGError`](/documentation/CoreGraphics/CGError).

## Discussion

This function switches the display mode of the specified display. The operation is always synchronous; the function doesn’t return until the mode switch is complete. Note that after switching, display parameters and addresses may change.

The selected display mode persists for the life of the calling program. When the program terminates, the display mode automatically reverts to the permanent setting in the Displays panel of System Preferences.

When you change the display mode of a display in a mirroring set, your change switches other displays in the mirroring set to a mode capable of mirroring the bounds of the adjusted display. To avoid this automatic behavior, you can use the following procedure: call [`CGBeginDisplayConfiguration(_:)`](/documentation/CoreGraphics/CGBeginDisplayConfiguration(_:)), call [`CGConfigureDisplayWithDisplayMode(_:_:_:_:)`](/documentation/CoreGraphics/CGConfigureDisplayWithDisplayMode(_:_:_:_:)) for each display to explicitly set the mode, and finally call [`CGCompleteDisplayConfiguration(_:_:)`](/documentation/CoreGraphics/CGCompleteDisplayConfiguration(_:_:)).

---

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)