fix(apple): fill the notch in macOS fullscreen — stop letterboxing below the camera housing
The macOS sessionView branch was missing the .ignoresSafeArea() its iOS/tvOS siblings have, so in fullscreen the stream was laid out in the safe area below the notch; the aspect-fit video then scaled down to that smaller area and left black borders. Add .ignoresSafeArea() so the stream fills the whole display including behind the camera housing (a thin top-center strip occluded — normal fullscreen- video behavior); at the display's native mode it's now a 1:1 fill. Inert in windowed mode and on non-notched displays. NSPrefersDisplaySafeAreaCompatibilityMode is deliberately not used (it shrinks the whole window with borders on all sides). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -145,6 +145,13 @@ struct ContentView: View {
|
||||
#if os(macOS)
|
||||
.frame(minWidth: 640, minHeight: 360)
|
||||
.background(Color.black)
|
||||
// Fill the whole display in fullscreen, INCLUDING behind the camera housing (notch).
|
||||
// Without this the stream is laid out in the safe area below the notch, so an
|
||||
// aspect-fit video at the display's native mode scales down and leaves black borders.
|
||||
// A fullscreen video behind the notch (a thin top-center strip occluded) is the
|
||||
// expected behavior — same edge-to-edge intent as the iOS/tvOS branches below. Inert
|
||||
// in windowed mode (no notch safe-area inset on a titled window).
|
||||
.ignoresSafeArea()
|
||||
#elseif os(iOS)
|
||||
// Streaming is immersive: edge-to-edge under the status bar and home
|
||||
// indicator, both hidden for the session (they return with the hosts grid).
|
||||
|
||||
Reference in New Issue
Block a user