@@ -15,7 +15,7 @@ public final class OverlayWindowController {
1515 [ IDEWorkspaceWindowOverlayWindowControllerContentProviderFactory ] = [ ]
1616
1717 var ideWindowOverlayWindowControllers =
18- [ CGWindowID : IDEWorkspaceWindowOverlayWindowController] ( )
18+ [ ObjectIdentifier : IDEWorkspaceWindowOverlayWindowController] ( )
1919 var updateWindowStateTask : Task < Void , Error > ?
2020
2121 lazy var fullscreenDetector = {
@@ -81,7 +81,6 @@ private extension OverlayWindowController {
8181 . focusedWindow as? WorkspaceXcodeWindowInspector
8282 {
8383 createNewIDEOverlayWindowController (
84- for: windowInspector. windowID,
8584 inspector: windowInspector,
8685 application: app. runningApplication
8786 )
@@ -98,7 +97,7 @@ private extension OverlayWindowController {
9897 defer { self . observeWindowChange ( ) }
9998
10099 guard XcodeInspector . shared. activeApplication? . isXcode ?? false else {
101- var closedControllers : [ CGWindowID ] = [ ]
100+ var closedControllers : [ ObjectIdentifier ] = [ ]
102101 for (id, controller) in self . ideWindowOverlayWindowControllers {
103102 if controller. isWindowClosed {
104103 controller. dim ( )
@@ -122,19 +121,18 @@ private extension OverlayWindowController {
122121
123122 let windowInspector = XcodeInspector . shared. focusedWindow
124123 if let ideWindowInspector = windowInspector as? WorkspaceXcodeWindowInspector {
125- let windowID = ideWindowInspector. windowID
124+ let objectID = ObjectIdentifier ( ideWindowInspector)
126125 // Workspace window is active
127126 // Hide all controllers first
128127 for (id, controller) in self . ideWindowOverlayWindowControllers {
129- if id != windowID {
128+ if id != objectID {
130129 controller. hide ( )
131130 }
132131 }
133- if let controller = self . ideWindowOverlayWindowControllers [ windowID ] {
132+ if let controller = self . ideWindowOverlayWindowControllers [ objectID ] {
134133 controller. access ( )
135134 } else {
136135 self . createNewIDEOverlayWindowController (
137- for: windowID,
138136 inspector: ideWindowInspector,
139137 application: app. runningApplication
140138 )
@@ -150,10 +148,10 @@ private extension OverlayWindowController {
150148 }
151149
152150 func createNewIDEOverlayWindowController(
153- for windowID: CGWindowID ,
154151 inspector: WorkspaceXcodeWindowInspector ,
155152 application: NSRunningApplication
156153 ) {
154+ let id = ObjectIdentifier ( inspector)
157155 let newController = IDEWorkspaceWindowOverlayWindowController (
158156 inspector: inspector,
159157 application: application,
@@ -164,10 +162,10 @@ private extension OverlayWindowController {
164162 }
165163 )
166164 newController. access ( )
167- ideWindowOverlayWindowControllers [ windowID ] = newController
165+ ideWindowOverlayWindowControllers [ id ] = newController
168166 }
169167
170- func removeIDEOverlayWindowController( for id: CGWindowID ) {
168+ func removeIDEOverlayWindowController( for id: ObjectIdentifier ) {
171169 if let controller = ideWindowOverlayWindowControllers [ id] {
172170 controller. destroy ( )
173171 }
@@ -178,7 +176,8 @@ private extension OverlayWindowController {
178176 let windowInspector = XcodeInspector . shared. focusedWindow
179177 guard let activeWindowController = {
180178 if let windowInspector = windowInspector as? WorkspaceXcodeWindowInspector {
181- return ideWindowOverlayWindowControllers [ windowInspector. windowID]
179+ let id = ObjectIdentifier ( windowInspector)
180+ return ideWindowOverlayWindowControllers [ id]
182181 } else {
183182 return nil
184183 }
0 commit comments