<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<META NAME="Generator" CONTENT="MS Exchange Server version rmj.rmm.rup.rpr">
<TITLE>RE: [OpenJDK 2D-Dev] [10] JDK-8169044: The tray icon color is not green</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Hi Sergey, I</FONT><FONT FACE="Calibri"> have updated the</FONT> <FONT FACE="Calibri">Webrev.</FONT><FONT FACE="Calibri"> Please review this:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><A HREF="http://cr.openjdk.java.net/~pkbalakr/shashi/8169044/webrev.01/"><SPAN LANG="en-us"><U><FONT COLOR="#0563C1" FACE="Calibri">http://cr.openjdk.java.net/~pkbalakr/shashi/8169044/webrev.01/</FONT></U></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">I have made the code updates uniform in the file to take the</FONT> <FONT FACE="Calibri">'</FONT><FONT FACE="Calibri">scaled</FONT><FONT FACE="Calibri">'</FONT><FONT FACE="Calibri"> size of the icon instead of the '</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">hardcoded</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">'</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> size earlier.</FONT><FONT FACE="Calibri"></FONT></SPAN><SPAN LANG="en-us"> </SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Another point is that</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">am</FONT> <FONT FACE="Calibri">not able to find the source code for the XConfigureEvent(</FONT><FONT FACE="Calibri">which captures the window configuration attributes of the</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">tray icon window in this case</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">)</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> and hence am not sure about the configuration of the XWindow</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> configuratio</FONT><FONT FACE="Calibri">n response</FONT></SPAN><SPAN LANG="en-us"> <FONT FACE="Calibri">(</FONT><FONT FACE="Calibri">of the tray icon</FONT><FONT FACE="Calibri">)</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri"> is scaled or not.</FONT> <FONT FACE="Calibri">If it i</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">s not scaled it may require updates for the metacity window manager specific code to adjust the</FONT> <FONT FACE="Calibri">window configuration</FONT><FONT FACE="Calibri"> of the</FONT><FONT FACE="Calibri"> tray icon</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">(</FONT><FONT FACE="Calibri">because metacity WM provides rectangular window instead of a square w</FONT><FONT FACE="Calibri">in</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">dow</FONT></SPAN><SPAN LANG="en-us"><FONT FACE="Calibri">)</FONT></SPAN><SPAN LANG="en-us">.</SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Thanks and regards,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Shashi</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN><A NAME=""><SPAN LANG="en-us"></SPAN></A></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">-----Original Message-----<BR>
</FONT><FONT FACE="Calibri">From:</FONT><FONT FACE="Calibri"> Sergey Bylokhov<BR>
</FONT><FONT FACE="Calibri">Sent:</FONT><FONT FACE="Calibri"></FONT> <FONT FACE="Calibri">Wednesday, August 2, 2017 2:45 AM<BR>
</FONT><FONT FACE="Calibri">To:</FONT><FONT FACE="Calibri"> Shashidhara Veerabhadraiah <shashidhara.veerabhadraiah@oracle.com><BR>
</FONT><FONT FACE="Calibri">Cc:</FONT><FONT FACE="Calibri"> awt-dev@openjdk.java.net; 2d-dev@openjdk.java.net; Jim Graham <james.graham@oracle.com><BR>
</FONT><FONT FACE="Calibri">Subject:</FONT><FONT FACE="Calibri"> Re: [OpenJDK 2D-Dev] [10] JDK-8169044: The tray ic</FONT><FONT FACE="Calibri">on color is not green</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">Hi, Shashi.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">As far as I understand the "width/height" in the IconCanvas is a size of the TrayIcon in pixels. So on the normal screen it is should be 24(TRAY_ICON_WIDTH) pixels and on a HiDPI screen it should be 24*ScreenScale. The IconCanvas.width/height fields shoul</FONT><FONT FACE="Calibri">d</FONT><FONT FACE="Calibri"> reflect this size.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">I am not sure but it looks like the current fix changes the "size" of the frame just for rendering(so we select HiDPI image) but did not change the size of the frame. So we draw the HiDPI image to non-HiDPI embedded frame.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">-----</FONT></SPAN><SPAN LANG="en-us"> </SPAN><A HREF="mailto:shashidhara.veerabhadraiah@oracle.com"><SPAN LANG="en-us"><FONT FACE="Calibri">shash</FONT><FONT FACE="Calibri">idhara.veerabhadraiah@oracle.com</FONT></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"><FONT FACE="Calibri"> wrote:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> Yes Jim. Per the current code base, it is defaulted to default screen.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> To have the same tray icon being represented on multiple task bars </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> would require updates to XSystemTrayPeer.java to replicate the mess</FONT><FONT FACE="Calibri">age </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> being sent to X11 to add a new tray icon for a particular </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> screen(Currently it is done only for the default screen). The current</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> X11 tray system uses XEMBED protocol to add system tray icons. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> Currently the screen is set to 0 which I think wou</FONT><FONT FACE="Calibri">ld refer to default </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> screen and hence it adds tray icons only to the default screen. The</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> X11 property '_NET_SYSTEM_TRAY_S[SCREEN_NUMBER]' allows access to the </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> system tray of screen 'SCREEN_ NUMBER '. So we may need to use such </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> mechanism to add the tray icon onto different screens. This may be </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> different for windows and mac but will have a similar mechanism.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> Thanks and regards,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> Shashi</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> -----Original Message-----</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> From: Jim Graham</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> Sent: Tuesday, August 1, 2017 2:</FONT><FONT FACE="Calibri">14 AM</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> To: Shashidhara Veerabhadraiah</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> <</FONT></SPAN><SPAN LANG="en-us"></SPAN><A HREF="mailto:shashidhara.veerabhadraiah@oracle.com"><SPAN LANG="en-us"><FONT FACE="Calibri">shashidhara.veerabhadraiah@oracle.com</FONT></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"><FONT FACE="Calibri">>;</FONT></SPAN><SPAN LANG="en-us"> </SPAN><A HREF="mailto:awt-dev@openjdk.java.net"><SPAN LANG="en-us"><FONT FACE="Calibri">awt-dev@openjdk.java.net</FONT></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"><FONT FACE="Calibri">; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> 2d-dev <</FONT></SPAN><SPAN LANG="en-us"></SPAN><A HREF="mailto:2d-dev@openjdk.java.net"><SPAN LANG="en-us"><FONT FACE="Calibri">2d-dev@openjdk.java.net</FONT></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"><FONT FACE="Calibri">></FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> Subject: Re: [OpenJDK 2D-Dev] [10] JDK-8169044: The tray icon color is </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> not green</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> Will the tray icon ca</FONT><FONT FACE="Calibri">nvas always be on the default screen?  I believe </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> the latest MacOS and Win10 both allow menu bars and task bars on all </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> monitors.  Linux may not be far behind...</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">>                       ...jim</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> On 7/30/17 11:59 PM, Shashidhara Veerabhadraiah wrote:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > Hi, Kindly</FONT> <FONT FACE="Calibri">review a fix for JDK-8169044 where the non hi dpi icon</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> was</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > picked among the icon set of hi dpi and a non hi dpi icons for a hi</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> dpi display screen.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > Issue: The non hi dpi icon is red in color (and hi dpi icon is green</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > in color) and was getting picked up among the set for a hi dpi</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> display screen as shown below in the picture:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > Solution and fix: The icon's buffered images are not subjected to</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > scaling because of the hi dpi screen. Hence, the default</FONT><FONT FACE="Calibri"> non hi dpi</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > icon was getting picked up for rendering the tray icon. Now the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> source</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > code modified to apply necessary transformations to the</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> bufferedimages to get the default icon based on the default display </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> screen. Below is the output aft</FONT><FONT FACE="Calibri">er the fix:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > Bug:</FONT></SPAN><SPAN LANG="en-us"> </SPAN><A HREF="https://bugs.openjdk.java.net/browse/JDK-8169044"><SPAN LANG="en-us"><FONT FACE="Calibri">https://bugs.openjdk.java.net/browse/JDK-8169044</FONT></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > Webrev:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">></FONT></SPAN><SPAN LANG="en-us"> </SPAN><A HREF="http://cr.openjdk.java.net/~pkbalakr/shashi/8169044/webrev.00/"><SPAN LANG="en-us"><FONT FACE="Calibri">http://cr.openjdk.java.net/~pkbalakr/shashi/8169044/webrev.00/</FONT></SPAN><SPAN LANG="en-us"></SPAN></A><SPAN LANG="en-us"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > Thanks and regards,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> > Shashi</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT FACE="Calibri">> ></FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"></SPAN></P>

</BODY>
</HTML>