---
title: "CGDisplaySwitchToMode(_:_:)"
framework: coregraphics
role: symbol
role_heading: Function
path: "coregraphics/cgdisplayswitchtomode(_:_:)"
---

# CGDisplaySwitchToMode(_:_:)

Switches a display to a different mode.

## Declaration

```swift
func CGDisplaySwitchToMode(_ display: CGDirectDisplayID, _ mode: CFDictionary?) -> CGError
```

## Parameters

- `display`: The identifier of the display to be accessed.
- `mode`: A display mode dictionary that contains information about the display mode to set. The dictionary passed in must be a dictionary returned by another Quartz display function such as doc://com.apple.coregraphics/documentation/CoreGraphics/CGDisplayAvailableModes(_:) or doc://com.apple.coregraphics/documentation/CoreGraphics/CGDisplayBestModeForParameters(_:_:_:_:_:). For a list of the properties in a display mode dictionary, see doc://com.apple.coregraphics/documentation/CoreGraphics/display-mode-standard-properties and doc://com.apple.coregraphics/documentation/CoreGraphics/display-mode-optional-properties. For general information about using dictionaries, see doc://com.apple.documentation/documentation/CoreFoundation/CFDictionary.

## Return Value

Return Value A result code. See Core Graphics Data Types and Constants.

## Discussion

Discussion This function switches the display mode of the specified display. The operation is always synchronous; the function does not 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 changing the display mode of a display in a mirroring set, other displays in the mirroring set will be assigned a mode that’s capable of mirroring the bounds of the display being adjusted. To avoid this automatic behavior, you can use the following procedure: callCGBeginDisplayConfiguration(_:), call CGConfigureDisplayMode(_:_:_:) for each display to explicitly set the mode, and finally call CGCompleteDisplayConfiguration(_:_:) Special Considerations This deprecated function takes as a parameter a display mode dictionary. Starting in OS X v10.6, display mode dictionaries have been replaced by the CGDisplayMode opaque type.

## See Also

### Functions

- [CGAcquireDisplayFadeReservation(_:_:)](coregraphics/cgacquiredisplayfadereservation(_:_:).md)
- [CGAssociateMouseAndMouseCursorPosition(_:)](coregraphics/cgassociatemouseandmousecursorposition(_:).md)
- [CGBeginDisplayConfiguration(_:)](coregraphics/cgbegindisplayconfiguration(_:).md)
- [CGCancelDisplayConfiguration(_:)](coregraphics/cgcanceldisplayconfiguration(_:).md)
- [CGCaptureAllDisplays()](coregraphics/cgcapturealldisplays().md)
- [CGCaptureAllDisplaysWithOptions(_:)](coregraphics/cgcapturealldisplayswithoptions(_:).md)
- [CGCompleteDisplayConfiguration(_:_:)](coregraphics/cgcompletedisplayconfiguration(_:_:).md)
- [CGConfigureDisplayFadeEffect(_:_:_:_:_:_:)](coregraphics/cgconfiguredisplayfadeeffect(_:_:_:_:_:_:).md)
- [CGConfigureDisplayMirrorOfDisplay(_:_:_:)](coregraphics/cgconfiguredisplaymirrorofdisplay(_:_:_:).md)
- [CGConfigureDisplayMode(_:_:_:)](coregraphics/cgconfiguredisplaymode(_:_:_:).md)
- [CGConfigureDisplayOrigin(_:_:_:_:)](coregraphics/cgconfiguredisplayorigin(_:_:_:_:).md)
- [CGConfigureDisplayStereoOperation(_:_:_:_:)](coregraphics/cgconfiguredisplaystereooperation(_:_:_:_:).md)
- [CGConfigureDisplayWithDisplayMode(_:_:_:_:)](coregraphics/cgconfiguredisplaywithdisplaymode(_:_:_:_:).md)
- [CGCursorIsDrawnInFramebuffer()](coregraphics/cgcursorisdrawninframebuffer().md)
- [CGCursorIsVisible()](coregraphics/cgcursorisvisible().md)
