<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSScreen/visibleFrame",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(cs)NSScreen(py)visibleFrame"
  },
  "title" : "visibleFrame"
}
-->

# visibleFrame

The current location and dimensions of the visible screen.

```
var visibleFrame: NSRect { get }
```

## Discussion

This rectangle defines the portion of the screen in which it is currently safe to draw your app’s content.

The returned rectangle is always based on the current user-interface settings and does not include the area currently occupied by the dock and menu bar. On Macs that include a camera housing in the bezel, this rectangle does not include the bezel or the visible areas on either side of the bezel. Get those areas using the [`auxiliaryTopLeftArea`](/documentation/AppKit/NSScreen/auxiliaryTopLeftArea-uglc) and [`auxiliaryTopRightArea`](/documentation/AppKit/NSScreen/auxiliaryTopRightArea-gr2n) properties. Don’t cache the rectangle in this property; it is based on the current user-interface settings, which can change between calls.

> Note:
> Even when dock hiding is enabled, the rectangle returned by this method may be smaller than the full screen. The system uses a small boundary area to determine when it displays the dock.

## See Also

[`frame`](/documentation/AppKit/NSScreen/frame)

The dimensions and location of the screen.



---

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)