aboutsummaryrefslogtreecommitdiff
path: root/Hotline/Utility
diff options
context:
space:
mode:
Diffstat (limited to 'Hotline/Utility')
-rw-r--r--Hotline/Utility/NSWindowBridge.swift21
1 files changed, 21 insertions, 0 deletions
diff --git a/Hotline/Utility/NSWindowBridge.swift b/Hotline/Utility/NSWindowBridge.swift
index 5cd7197..8f766d9 100644
--- a/Hotline/Utility/NSWindowBridge.swift
+++ b/Hotline/Utility/NSWindowBridge.swift
@@ -23,3 +23,24 @@ public struct NSWindowAccessor: NSViewRepresentable {
public func makeNSView(context: Context) -> NSView { return NSWindowAccessorView( configCode ) }
public func updateNSView(_ nsView: NSView, context: Context) {}
}
+
+
+//import SwiftUI
+
+ /// A helper view you can embed once per window to run a closure
+/// with the underlying NSWindow reference.
+struct WindowConfigurator: NSViewRepresentable {
+ let configure: (NSWindow) -> Void
+
+ func makeNSView(context: Context) -> NSView {
+ let view = NSView()
+ DispatchQueue.main.async {
+ if let window = view.window {
+ configure(window)
+ }
+ }
+ return view
+ }
+
+ func updateNSView(_ nsView: NSView, context: Context) { }
+}