@@ -418,7 +418,12 @@ extension WidgetWindowsController {
418418 windows. widgetWindow. alphaValue = if noFocus {
419419 0
420420 } else if previousAppIsXcode {
421- 1
421+ if windows. chatPanelWindow. isFullscreen,
422+ windows. chatPanelWindow. isOnActiveSpace {
423+ 0
424+ } else {
425+ 1
426+ }
422427 } else {
423428 0
424429 }
@@ -573,11 +578,11 @@ extension WidgetWindowsController {
573578
574579 @MainActor
575580 func handleXcodeFullscreenChange( ) async {
576- guard let activeXcode = await XcodeInspector . shared. safe. activeXcode
577- else { return }
581+ let activeXcode = await XcodeInspector . shared. safe. activeXcode
578582
579- let xcode = activeXcode. appElement
580- let isFullscreen = if let xcodeWindow = xcode. focusedWindow {
583+ let isFullscreen = if let xcode = activeXcode? . appElement,
584+ let xcodeWindow = xcode. focusedWindow
585+ {
581586 xcodeWindow. isFullScreen && xcode. isFrontmost
582587 } else {
583588 false
@@ -593,10 +598,8 @@ extension WidgetWindowsController {
593598 $0. send ( . didChangeActiveSpace( fullscreen: isFullscreen) )
594599 }
595600
596- if windows. fullscreenDetector. isOnActiveSpace {
597- if xcode. focusedWindow != nil {
598- windows. orderFront ( )
599- }
601+ if windows. fullscreenDetector. isOnActiveSpace, isFullscreen {
602+ windows. orderFront ( )
600603 }
601604 }
602605}
@@ -856,6 +859,10 @@ class WidgetWindow: CanBecomeKeyWindow {
856859 [ . fullScreenAuxiliary, . transient]
857860 }
858861
862+ var isFullscreen : Bool {
863+ styleMask. contains ( . fullScreen)
864+ }
865+
859866 private var state : State ? {
860867 didSet {
861868 guard state != oldValue else { return }
@@ -885,3 +892,4 @@ func widgetLevel(_ addition: Int) -> NSWindow.Level {
885892 minimumWidgetLevel = NSWindow . Level. floating. rawValue
886893 return . init( minimumWidgetLevel + addition)
887894}
895+
0 commit comments