---
title: App Windows
framework: appkit
role: collectionGroup
role_heading: API Collection
path: appkit/app-windows
---

# App Windows

Show, hide, minimize, arrange, and update your app’s windows.

## Topics

### Managing App Windows

- [keyWindow](appkit/nsapplication/keywindow.md)
- [mainWindow](appkit/nsapplication/mainwindow.md)
- [window(withWindowNumber:)](appkit/nsapplication/window(withwindownumber:).md)
- [windows](appkit/nsapplication/windows.md)
- [makeWindowsPerform(_:inOrder:)](appkit/nsapplication/makewindowsperform(_:inorder:).md)
- [enumerateWindows(options:using:)](appkit/nsapplication/enumeratewindows(options:using:).md)
- [NSApplication.WindowListOptions](appkit/nsapplication/windowlistoptions.md)

### Minimizing Windows

- [miniaturizeAll(_:)](appkit/nsapplication/miniaturizeall(_:).md)

### Hiding Windows

- [isHidden](appkit/nsapplication/ishidden.md)
- [hide(_:)](appkit/nsapplication/hide(_:).md)
- [unhide(_:)](appkit/nsapplication/unhide(_:).md)
- [unhideWithoutActivation()](appkit/nsapplication/unhidewithoutactivation().md)

### Updating Windows

- [updateWindows()](appkit/nsapplication/updatewindows().md)
- [setWindowsNeedUpdate(_:)](appkit/nsapplication/setwindowsneedupdate(_:).md)

### Managing Window Layers

- [preventWindowOrdering()](appkit/nsapplication/preventwindowordering().md)
- [arrangeInFront(_:)](appkit/nsapplication/arrangeinfront(_:).md)

### Drawing Windows

- [context](appkit/nsapplication/context.md)

### Getting the Occlusion State

- [occlusionState](appkit/nsapplication/occlusionstate-swift.property.md)
- [NSApplication.OcclusionState](appkit/nsapplication/occlusionstate-swift.struct.md)

### Restoring App Windows at Launch

- [isProtectedDataAvailable](appkit/nsapplication/isprotecteddataavailable.md)
- [extendStateRestoration()](appkit/nsapplication/extendstaterestoration().md)
- [completeStateRestoration()](appkit/nsapplication/completestaterestoration().md)
- [restoreWindow(withIdentifier:state:completionHandler:)](appkit/nsapplication/restorewindow(withidentifier:state:completionhandler:).md)

### Managing Run Loops

- [displayWindowRunLoopOrdering](appkit/nsapplication/displaywindowrunloopordering.md)
- [resetCursorRectsRunLoopOrdering](appkit/nsapplication/resetcursorrectsrunloopordering.md)
- [updateWindowsRunLoopOrdering](appkit/nsapplication/updatewindowsrunloopordering.md)

## See Also

### Managing windows, panels, and menus

- [Modal Windows and Panels](appkit/modal-windows-and-panels.md)
- [Menus](appkit/menus.md)
