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 WelcomeWindowAnd 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