From ce4b68d5fbebc20e253e93a47248446df480aad5 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 20 Dec 2025 23:38:28 +0100 Subject: [PATCH] fix: pre-size menu context card --- apps/macos/Sources/Clawdis/MenuContextCardInjector.swift | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/macos/Sources/Clawdis/MenuContextCardInjector.swift b/apps/macos/Sources/Clawdis/MenuContextCardInjector.swift index a12d37f5a..24094c602 100644 --- a/apps/macos/Sources/Clawdis/MenuContextCardInjector.swift +++ b/apps/macos/Sources/Clawdis/MenuContextCardInjector.swift @@ -48,6 +48,7 @@ final class MenuContextCardInjector: NSObject, NSMenuDelegate { let initialRows = self.cachedRows let initialIsLoading = initialRows.isEmpty let initialStatusText = initialIsLoading ? self.cacheErrorText : nil + let initialWidth = self.initialCardWidth(for: menu) let initial = AnyView(ContextMenuCardView( rows: initialRows, @@ -55,8 +56,8 @@ final class MenuContextCardInjector: NSObject, NSMenuDelegate { isLoading: initialIsLoading)) let hosting = NSHostingView(rootView: initial) + hosting.frame.size.width = max(1, initialWidth) let size = hosting.fittingSize - let initialWidth = self.initialCardWidth(for: menu) hosting.frame = NSRect( origin: .zero, size: NSSize(width: initialWidth, height: size.height)) @@ -83,6 +84,7 @@ final class MenuContextCardInjector: NSObject, NSMenuDelegate { hosting.rootView = view hosting.invalidateIntrinsicContentSize() self.captureMenuWidthIfAvailable(for: menu, hosting: hosting) + hosting.frame.size.width = max(1, initialWidth) let size = hosting.fittingSize hosting.frame.size.height = size.height }