@@ -21,19 +21,22 @@ class ReasonInputManager {
21
21
22
22
let hostingController = NSHostingController ( rootView: reasonInputView)
23
23
24
- let newWindow = NSWindow (
24
+ let newWindow = CustomWindow (
25
25
contentRect: NSRect ( x: 0 , y: 0 , width: 550 , height: 350 ) ,
26
- styleMask: [ . titled , . closable ] ,
26
+ styleMask: [ . borderless ] ,
27
27
backing: . buffered,
28
28
defer: false
29
29
)
30
-
30
+ newWindow. backgroundColor = . clear
31
+ newWindow. isOpaque = false
31
32
newWindow. contentView = hostingController. view
32
- newWindow. title = " "
33
- newWindow. styleMask = [ . titled, . fullSizeContentView]
33
+ newWindow. hasShadow = false
34
34
newWindow. center ( )
35
+ newWindow. ignoresMouseEvents = false
36
+ newWindow. isMovableByWindowBackground = true
35
37
newWindow. isReleasedWhenClosed = false
36
38
newWindow. makeKeyAndOrderFront ( nil )
39
+ newWindow. makeFirstResponder ( hostingController. view)
37
40
38
41
self . window = newWindow
39
42
@@ -65,3 +68,8 @@ private class WindowDelegate: NSObject, NSWindowDelegate {
65
68
onClose ( )
66
69
}
67
70
}
71
+
72
+ private class CustomWindow : NSWindow {
73
+ override var canBecomeKey : Bool { true }
74
+ override var canBecomeMain : Bool { true }
75
+ }
0 commit comments