I suspect the images that work are template images, rather than pairs of images.

See https://developer.apple.com/documentation/appkit/nsimage/1520017-template



> On Aug 9, 2022, at 7:12 PM, Jeremy Wood <[email protected]> wrote:
> 
> On Macs the tray can present black or white icons, depending on the color of 
> the desktop underneath the menubar.
> 
> For example:
> 
> <galpmnvf.png>
> 
> <qtqoidmn.png>
> 
> Most icons switch from a black icon to a white icon as needed. A few 3rd 
> party app icons do not switch to a white icon against the black background 
> (for ex: Evernote). And interestingly: Apple’s Airdrop icon (the concentric 
> circles shaped like a sideways pacman) also appears to do the wrong thing too.
> 
> Is there a way in a Java desktop app to set up a tray icon that can toggle 
> between white and black icons as needed?
> 
> Obviously we’d love it if this “just worked” without further intervention by 
> inverting our icon, but we’d also be happy if a solution involved adding a 
> PropertyChangeListener somewhere to identify the menubar change and we could 
> update the tray icons ourselves.
> 
> For ex:
> If I change the highlight/accent color (in “System Preferences -> General”), 
> then 8 UIManager Colors change (including “textHighlight”, “Button.light”, 
> etc.) as of JDK 18. As far as I can tell: there is no similar model to 
> identify when the menubar changes colors.
> 
> For now we’ve made a work-around by using the Robot class to grab a pixel 
> from the Apple menu icon every few seconds to determine if it’s light or dark.
> 
> Is there an existing way to resolve this we don’t know about?
> 
> Or if not: is anyone reading this with “author” status interested in helping 
> write this up as an openjdk bug?
> 
> Regards,
>  - Jeremy

Reply via email to