From 2bf4e4d19ef5266e69f6deab4a82b2307e1c75ce Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Mon, 21 Feb 2022 13:12:07 +0100 Subject: [PATCH] fix: macOS tray icon alternate images --- shell/browser/ui/tray_icon_cocoa.mm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/shell/browser/ui/tray_icon_cocoa.mm b/shell/browser/ui/tray_icon_cocoa.mm index 128764d47f077..c66ae6c486c3c 100644 --- a/shell/browser/ui/tray_icon_cocoa.mm +++ b/shell/browser/ui/tray_icon_cocoa.mm @@ -93,6 +93,15 @@ - (void)setImage:(NSImage*)image { - (void)setAlternateImage:(NSImage*)image { [[statusItem_ button] setAlternateImage:image]; + + // We need to change the button type here because the default button type for + // NSStatusItem, NSStatusBarButton, does not display alternate content when + // clicked. NSButtonTypeMomentaryChange displays its alternate content when + // clicked and returns to its normal content when the user releases it, which + // is the behavior users would expect when clicking a button with an alternate + // image set. + [[statusItem_ button] setButtonType:NSButtonTypeMomentaryChange]; + [self updateDimensions]; } - (void)setIgnoreDoubleClickEvents:(BOOL)ignore {