Contents

CodeEditApp/WelcomeWindow

A welcome window for macOS applications.

Documentation

This package is fully documented here.

Usage

To use welcome window, simply import the package

import WelcomeWindow

And add it as a window in your SwiftUI App.

@main
struct CodeEditApp: App {
    @Environment(\.dismiss) private var dismiss

    var body: some Scene {
        WelcomeWindow(
            // Add two action buttons below your icon
            actions: { dismiss in
                WelcomeButton(
                    iconName: "circle.fill",
                    title: "New Text Document",
                    action: {
                        NSDocumentController.shared.createFileDocumentWithDialog(
                            configuration: .init(title: "Create new text document"),
                            onCompletion: { dismiss() }
                        )
                    }
                )
                WelcomeButton(
                    iconName: "triangle.fill",
                    title: "Open Text Document or Folder",
                    action: {
                        NSDocumentController.shared.openDocumentWithDialog(
                            configuration: .init(canChooseDirectories: true),
                            onDialogPresented: { dismiss() },
                            onCancel: { openWindow(id: "welcome") }
                        )
                    }
                )
            },
            // Receive files via drag and drop
            onDrop: { url, dismiss in
                print("File dropped at: \(url.path)")

                Task {
                    NSDocumentController.shared.openDocument(at: url, onCompletion: { dismiss() })
                }
            }
        )
    }
}

<details><summary>Examples from real apps!</summary>

| CodeEdit | [CodeEdit Demo Image] | | ---------------------------------------------------------- | -------------------------------------------------------- | | CircuitPro | [CircuitPro Demo Image] |

</details>

License

Licensed under the MIT license

Package Metadata

Repository: CodeEditApp/WelcomeWindow

Homepage: https://codeeditapp.github.io/WelcomeWindow/documentation/welcomewindow/

Stars: 40

Forks: 6

Open issues: 0

Default branch: main

Primary language: swift

License: MIT

Topics: appkit, macos, swift, swiftui

README: README.md