fix(macos): stabilize menu row width

This commit is contained in:
Peter Steinberger
2025-12-26 22:34:09 +01:00
parent 5ffbddcc57
commit 1a8ffebb00
2 changed files with 1 additions and 12 deletions

View File

@@ -55,7 +55,6 @@ final class HighlightedMenuItemHostView: NSView {
override func layout() {
super.layout()
self.updateTargetWidthFromWindow()
self.hosting.frame = self.bounds
}
@@ -85,17 +84,6 @@ final class HighlightedMenuItemHostView: NSView {
self.frame = NSRect(origin: .zero, size: NSSize(width: self.targetWidth, height: size.height))
}
override func viewDidMoveToWindow() {
super.viewDidMoveToWindow()
self.updateTargetWidthFromWindow()
}
private func updateTargetWidthFromWindow() {
guard let width = self.window?.contentView?.bounds.width, width > 0 else { return }
if abs(width - self.targetWidth) < 0.5 { return }
self.targetWidth = width
self.updateSizing()
}
}
struct MenuHostedHighlightedItem: NSViewRepresentable {

View File

@@ -737,6 +737,7 @@ final class MenuSessionsInjector: NSObject, NSMenuDelegate {
private func initialWidth(for menu: NSMenu) -> CGFloat {
let candidates: [CGFloat] = [
menu.size.width,
menu.minimumWidth,
self.lastKnownMenuWidth ?? 0,
self.fallbackWidth,