From b230d563799f503487c8c71132753bdf4c570bea Mon Sep 17 00:00:00 2001 From: Arkadiusz Fal Date: Sun, 28 Jun 2026 08:01:46 +0200 Subject: [PATCH] Fix oversized ellipsis menu buttons on macOS Sequoia The default SwiftUI Menu style on macOS 15 renders as a bordered pull-down button that stretches to fill available width, while macOS 26 hugs the label. Apply .menuStyle(.borderlessButton) and .fixedSize() to the video context menu and playlist header menu. --- Yattee/Views/Components/VideoContextMenu.swift | 6 ++++++ Yattee/Views/Playlist/UnifiedPlaylistDetailView.swift | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/Yattee/Views/Components/VideoContextMenu.swift b/Yattee/Views/Components/VideoContextMenu.swift index 7047f518..81d9b3cb 100644 --- a/Yattee/Views/Components/VideoContextMenu.swift +++ b/Yattee/Views/Components/VideoContextMenu.swift @@ -636,6 +636,12 @@ struct VideoContextMenuView: View { } .id(refreshID) .menuIndicator(.hidden) + #if os(macOS) + // The default macOS menu style renders as a bordered pull-down that + // stretches to fill available width on macOS 15 (Sequoia). + .menuStyle(.borderlessButton) + .fixedSize() + #endif .sheet(isPresented: $showingPlaylistSheet) { PlaylistSelectorSheet(video: video) } diff --git a/Yattee/Views/Playlist/UnifiedPlaylistDetailView.swift b/Yattee/Views/Playlist/UnifiedPlaylistDetailView.swift index 37ef19d1..5c2dec55 100644 --- a/Yattee/Views/Playlist/UnifiedPlaylistDetailView.swift +++ b/Yattee/Views/Playlist/UnifiedPlaylistDetailView.swift @@ -456,6 +456,13 @@ struct UnifiedPlaylistDetailView: View { .frame(width: 44, height: 44) .background(.regularMaterial, in: Circle()) } + .menuIndicator(.hidden) + #if os(macOS) + // The default macOS menu style renders as a bordered pull-down that + // stretches to fill available width on macOS 15 (Sequoia). + .menuStyle(.borderlessButton) + .fixedSize() + #endif } .padding(.top, 8) }