From 628b9db5cb6d8ef46eaa7eae9bc98478983d468d Mon Sep 17 00:00:00 2001 From: Tim Miller Date: Fri, 12 Sep 2025 08:01:44 +0000 Subject: [PATCH] Adjust macOS Tray/Menu icons scaling (#19628) * Set TrayIcon image size to 17, 17 * Use Floor for setting icon size --- native/Avalonia.Native/src/OSX/menu.mm | 4 ++-- native/Avalonia.Native/src/OSX/trayicon.mm | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/native/Avalonia.Native/src/OSX/menu.mm b/native/Avalonia.Native/src/OSX/menu.mm index 1235979cb2..1adbe093bb 100644 --- a/native/Avalonia.Native/src/OSX/menu.mm +++ b/native/Avalonia.Native/src/OSX/menu.mm @@ -262,10 +262,10 @@ HRESULT AvnAppMenuItem::SetIcon(void *data, size_t length) NSSize originalSize = [image size]; NSSize size; - size.height = [[NSFont menuFontOfSize:0] pointSize] * 1.333333; + size.height = floor([[NSFont menuFontOfSize:0] pointSize] * 1.333333); auto scaleFactor = size.height / originalSize.height; - size.width = originalSize.width * scaleFactor; + size.width = floor(originalSize.width * scaleFactor); [image setSize: size]; [_native setImage:image]; diff --git a/native/Avalonia.Native/src/OSX/trayicon.mm b/native/Avalonia.Native/src/OSX/trayicon.mm index 917ff87694..3ac42b4f25 100644 --- a/native/Avalonia.Native/src/OSX/trayicon.mm +++ b/native/Avalonia.Native/src/OSX/trayicon.mm @@ -39,10 +39,10 @@ HRESULT AvnTrayIcon::SetIcon (void* data, size_t length) NSSize originalSize = [image size]; NSSize size; - size.height = [[NSFont menuFontOfSize:0] pointSize] * 1.333333; - + size.height = floor([[NSFont menuFontOfSize:0] pointSize] * 1.333333); + auto scaleFactor = size.height / originalSize.height; - size.width = originalSize.width * scaleFactor; + size.width = floor(originalSize.width * scaleFactor); [image setSize: size]; [image setTemplate: _isTemplateIcon];