The issue is connected to JDK-8149115
Config.: Ubuntu 16.04 Linux + HiDPI machine.
Please run the attached test code with e.g. b128 - the menu icons will be red as expected (if GDK_SCALE wasn't set explicitly).
Then please run the same test with current client build (I used b130 nightly) having display scaling factor = 2. The icons are blue (as expected). But nothing changes dynamically if set it to 1 - the icons are still blue. And even after the test restart the icons are still blue. Please note also that rerun with GDK_SCALE does not change anything (while it works for the pre-fix JDK) - is it what intended?
The issue is more notable in case of two-display configuration - the icon's color does not change when dragging the test window from one display to another (having different scale values, say 1 and 2). The option "Scale all window contents to match" (from "Display" settings) does not have effect at all ("Display with smallest/largest controls" etc).
If try to set scale = 1 for both the displays and rerun then the test. The icons will be red (ok).
Then disconnect the 2nd display and set the scale for the 1st to 2. Nothing changed. I wasn't able to obtain the blue icons again playing with the 1st display settings and even restarting the test; to fix it I was forced to connect the 2nd display again and set scale = 2 for both the displays.
So it seems this feature works very "statically" (and not very regularly).