From 31151df169f6c049b513e2f5a32bb5c1d6121002 Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Wed, 3 Jun 2026 22:27:38 +0200 Subject: [PATCH] Fix macOS player window blink when playing a new video The separate player window's show() restore branch reset alphaValue to 0 and faded back in even when the window was already on screen, so every Play Now while playing made the window flash. Only run the fade when the window was actually hidden (PiP restore); otherwise just bring it forward. --- Yattee/Views/Player/ExpandedPlayerWindowManager.swift | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Yattee/Views/Player/ExpandedPlayerWindowManager.swift b/Yattee/Views/Player/ExpandedPlayerWindowManager.swift index fd5e591c..ebe78c52 100644 --- a/Yattee/Views/Player/ExpandedPlayerWindowManager.swift +++ b/Yattee/Views/Player/ExpandedPlayerWindowManager.swift @@ -49,6 +49,13 @@ final class ExpandedPlayerWindowManager: NSObject { func show(with appEnvironment: AppEnvironment, animated: Bool = true) { // If window already exists (hidden for PiP), restore it instead of creating new one if let existingWindow = playerWindow { + // Already on screen (e.g. "Play Now" while playing) — just bring it + // forward; resetting alphaValue here would make the window blink. + if existingWindow.isVisible { + LoggingService.shared.debug("ExpandedPlayerWindowManager: show() - window already visible, bringing to front", category: .player) + existingWindow.makeKeyAndOrderFront(nil) + return + } LoggingService.shared.debug("ExpandedPlayerWindowManager: show() - restoring existing window (was hidden for PiP)", category: .player) if animated { existingWindow.alphaValue = 0