Mac Tray Icon Question
Alan Snyder
javalists at cbfiddle.com
Wed Aug 10 12:25:11 UTC 2022
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 <mickleness at gmail.com> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/client-libs-dev/attachments/20220810/0a77d22d/attachment.htm>
More information about the client-libs-dev
mailing list