Die Fensterleiste schluckte die halbe Kopfzeile

Der Player deckt das ganze Fenster ab, und auf dem Mac zeichnet das
System seine Ampelknöpfe darüber. Die Kopfzeile lag damit nicht nur
optisch unter ihnen — der Streifen gehört der Fensterleiste, und die
nimmt jeden Klick für sich. Verkleinern, Schließen, Tonspur, Untertitel
und die Qualitätsstufe waren dort tot, und ein Doppelklick auf dieselbe
Stelle legte das Fenster ins Dock.

Jetzt beginnt die Kopfzeile auf dem Mac achtundzwanzig Punkte tiefer.

Dazu: Tabulator springt in der Jellyfin-Anmeldung vom Namen zum Passwort
und zurück. „Name, Tab, Passwort, Eingabe" ist der Weg, den jeder mit
einem Passwortspeicher nimmt; SwiftUI schiebt den Fokus dort nicht von
selbst weiter.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-09-15 20:56:36 +02:00
co-authored by Claude Opus 5
parent 23d10d61f3
commit f3ea1ea891
2 changed files with 36 additions and 0 deletions
+20
View File
@@ -22,6 +22,14 @@ struct PlayerView: View {
@Environment(PlaybackDiagnostics.self) private var diagnostics
@Environment(\.flixyAccent) private var accent
/// Wie hoch die Fensterleiste auf dem Mac ist.
///
/// Fest, weil es keine Auskunft darüber gibt, die hier ankäme: die
/// Sicherheitsränder einer Szene kennen die Fensterleiste nicht, sie
/// gehört dem System. Achtundzwanzig Punkte sind das Maß eines
/// gewöhnlichen Fensters.
private static let titleBarHeight: CGFloat = 28
@State private var showsControls = true
@State private var trackPicker: TrackPickerSheet.Kind?
@State private var showsQualityChoice = false
@@ -105,6 +113,18 @@ struct PlayerView: View {
Spacer()
}
.padding(FlixySpacing.loose)
// **Unter der Fensterleiste beginnen.**
//
// Der Player deckt das ganze Fenster ab, und auf dem Mac
// zeichnet das System seine Ampelknöpfe darüber. Die
// Kopfzeile lag dadurch nicht nur optisch unter ihnen: der
// ganze Streifen gehört der Fensterleiste, und die
// schluckt jeden Klick. Verkleinern, Schließen, Tonspur,
// Untertitel und die Qualitätsstufe waren dort tot — und
// ein zweiter Klick auf dieselbe Stelle legte das Fenster
// ins Dock, weil das der Doppelklick auf eine
// Fensterleiste tut.
.padding(.top, FlixyPlatform.isMac ? Self.titleBarHeight : 0)
}
}
}