diff --git a/Relay/ContentView.swift b/Relay/ContentView.swift index 22aa9e4..db85567 100644 --- a/Relay/ContentView.swift +++ b/Relay/ContentView.swift @@ -56,7 +56,12 @@ struct ContentView: View { } } .relayErrorAlert() - .frame(minWidth: 700, minHeight: 500) + // Sized to fit a quarter-screen tile on a 14" MacBook Pro at its + // default scaled resolution (1512×982 pt → quarter ≈ 756×491), with a + // few points of margin for macOS tiling gaps. The width must also clear + // the sidebar overflow invariant: rail 52 + sidebar max 300 + a usable + // timeline (400) = 752. + .frame(minWidth: 752, minHeight: 480) } } diff --git a/Relay/Views/MainView.swift b/Relay/Views/MainView.swift index 2b6de55..d9a805b 100644 --- a/Relay/Views/MainView.swift +++ b/Relay/Views/MainView.swift @@ -248,7 +248,12 @@ struct MainView: View { // swiftlint:disable:this type_body_length spaceRailView } } - .navigationSplitViewColumnWidth(min: 160, ideal: 300, max: 360) + // Keep the sidebar narrow enough that, even at its max, it plus the + // 52pt space rail and a usable timeline fit inside the 760pt minimum + // window — otherwise NavigationSplitView overflows the window (the + // sidebar shoves off the left edge and the detail spills past the + // right) instead of compressing the user-dragged sidebar. + .navigationSplitViewColumnWidth(min: 160, ideal: 280, max: 300) } // MARK: - Detail