mirror of
https://github.com/yattee/yattee.git
synced 2026-07-21 06:42:01 +00:00
Split macOS player mode into window toggle + floating control
Replace the three-way macOS Player Mode picker (Separate Window / Floating Window / Inline) with a single 'Play in a separate window' toggle in Playback settings, and move the always-on-top choice to a pin button in the player's top bar (window mode only). Floating was really a transient window property (NSWindow.level), not a peer of the window/inline structural choice — so it belongs on a live control, not in Settings. The pin state persists across sessions. - Replace MacPlayerMode enum with macPlayerSeparateWindow / macPlayerFloating bool settings - Branch runtime presentation and window level off the two bools - Add pin.fill/pin toggle to MacOSPlayerControlsView top bar - Update localization; drop obsolete playerMode strings and enum tests
This commit is contained in:
@@ -70,8 +70,8 @@ final class ExpandedPlayerWindowManager: NSObject {
|
||||
// Mark expanding state for mini player coordination
|
||||
appEnvironment.navigationCoordinator.isPlayerExpanding = true
|
||||
|
||||
// Get the current player mode for window configuration
|
||||
let mode = appEnvironment.settingsManager.macPlayerMode
|
||||
// Whether the window should float above other windows (always on top).
|
||||
let floating = appEnvironment.settingsManager.macPlayerFloating
|
||||
|
||||
// Host a lightweight two-phase root instead of ExpandedPlayerSheet directly.
|
||||
// AppKit won't composite the window to screen until the hosted SwiftUI view
|
||||
@@ -133,8 +133,8 @@ final class ExpandedPlayerWindowManager: NSObject {
|
||||
// Make ExpandedPlayerWindowManager itself the delegate to avoid lifecycle issues
|
||||
window.delegate = self
|
||||
|
||||
// Configure window level based on mode
|
||||
configureWindowLevel(window, floating: mode.isFloating)
|
||||
// Configure window level based on the floating preference
|
||||
configureWindowLevel(window, floating: floating)
|
||||
|
||||
// Center window on screen
|
||||
window.center()
|
||||
|
||||
Reference in New Issue
Block a user