On Fri, 4 Dec 2020 14:40:24 GMT, Peter Zhelezniakov <pet...@openjdk.org> wrote:
>> [JDK-8252015: [macos11] java.awt.TrayIcon requires updates for template >> images](https://bugs.openjdk.java.net/browse/JDK-8252015) >> >> ### Problem >> According to Apple's human interface guidelines, developers should use >> template images for tray icons. This way icons look good when desktop theme >> or wallpaper change. On the API level, this means setting the >> `NSImage::isTemplate` flag. Currently there's no way in Java to set this >> flag. Even if one uses a template (black and transparent pixels only) image, >> MacOS will treat it as regular image. As a result, the image will not be >> visible when using dark theme. >> >> ### Solution: >> * Add a new system property, `java.awt.enableTemplateImages`, to indicate >> that template images are being used by tray icons.When this property is set, >> all tray icon images are treated as templates. It's the developers' >> responsibility to ensure their images are indeed templates. This property >> allows us to avoid new API and accidental behavior changes >> * Value of this property is passed from Java into `NSImage::setTemplate` >> * We need the tray icon image rendered by MacOS, so we use a button (rather >> than a view) to host the image >> >> To do after CSR approval: >> - [ ] Rename property `java.awt.` >> - [ ] Add `TrayIcon` javadoc, use `@systemProperty` tag there > > Peter Zhelezniakov has updated the pull request incrementally with two > additional commits since the last revision: > > - 8252015: fixed failing tests; renamed system property > - 8252015: Added property description to TrayIcon javadoc Marked as reviewed by serb (Reviewer). ------------- PR: https://git.openjdk.java.net/jdk/pull/481