---
title: DismissWindowAction
framework: swiftui
role: symbol
role_heading: Structure
path: swiftui/dismisswindowaction
---

# DismissWindowAction

An action that dismisses a window associated to a particular scene.

## Declaration

```swift
@MainActor @preconcurrency struct DismissWindowAction
```

## Overview

Overview Use the dismissWindow environment value to get the instance of this structure for a given Environment. Then call the instance to dismiss a window. You call the instance directly because it defines a callAsFunction(id:) method that Swift calls when you call the instance. For example, you can define a button that closes an auxiliary window: @main struct MyApp: App {     var body: some Scene {         WindowGroup {             ContentView()         }         #if os(macOS)         Window("Auxiliary", id: "auxiliary") {             AuxiliaryContentView()         }         #endif     } }

struct DismissWindowButton: View {     @Environment(\.dismissWindow) private var dismissWindow

var body: some View {         Button("Close Auxiliary Window") {             dismissWindow(id: "auxiliary")         }     } } If the window was opened with pushWindow, the original presenting will reappear when this action is performed.

## Topics

### Calling the action

- [callAsFunction()](swiftui/dismisswindowaction/callasfunction().md)
- [callAsFunction(id:)](swiftui/dismisswindowaction/callasfunction(id:).md)
- [callAsFunction(id:value:)](swiftui/dismisswindowaction/callasfunction(id:value:).md)
- [callAsFunction(value:)](swiftui/dismisswindowaction/callasfunction(value:).md)

## Relationships

### Conforms To

- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Closing windows

- [dismissWindow](swiftui/environmentvalues/dismisswindow.md)
- [dismiss](swiftui/environmentvalues/dismiss.md)
- [DismissAction](swiftui/dismissaction.md)
- [DismissBehavior](swiftui/dismissbehavior.md)
