On Wed, 6 Sep 2023 19:08:51 GMT, Michael Strauß <mstra...@openjdk.org> wrote:
>> sorry, that's not exactly what I meant. Platform preferences gets >> invalidated multiple times, but only the first time the value(s) are changed >> - all the other invalidations in the same batch have values unchanged. >> Is it possible to have only one invalidation per change? >> >> example: >> >> {Windows.UIColor.Accent=0x498205ff, Windows.SPI.HighContrastOn=false, >> Windows.SysColor.COLOR_HIGHLIGHTTEXT=0xffffffff, >> Windows.SysColor.COLOR_WINDOW=0xffffffff, >> Windows.UIColor.AccentLight1=0x61a907ff, >> Windows.SysColor.COLOR_3DFACE=0xf0f0f0ff, >> Windows.SysColor.COLOR_HOTLIGHT=0x0066ccff, >> Windows.SysColor.COLOR_WINDOWTEXT=0x000000ff, >> Windows.SysColor.COLOR_BTNTEXT=0x000000ff, >> Windows.UIColor.Foreground=0xffffffff, >> Windows.UIColor.AccentDark1=0x3e7204ff, >> Windows.UIColor.Background=0x000000ff, >> Windows.UIColor.AccentLight3=0xc1f96cff, >> Windows.UIColor.AccentLight2=0x99f618ff, >> Windows.SysColor.COLOR_GRAYTEXT=0x6d6d6dff, >> Windows.SysColor.COLOR_HIGHLIGHT=0x0078d7ff, >> Windows.UIColor.AccentDark2=0x254b03ff, >> Windows.UIColor.AccentDark3=0x0d2801ff} >> {Windows.UIColor.Accent=0x498205ff, Windows.SPI.HighContrastOn=false, >> Windows.SysColor.COLOR_HIGHLIGHTTEXT=0xffffffff, >> Windows.SysColor.COLOR_WINDOW=0xffffffff, >> Windows.UIColor.AccentLight1=0x61a907ff, >> Windows.SysColor.COLOR_3DFACE=0xf0f0f0ff, >> Windows.SysColor.COLOR_HOTLIGHT=0x0066ccff, >> Windows.SysColor.COLOR_WINDOWTEXT=0x000000ff, >> Windows.SysColor.COLOR_BTNTEXT=0x000000ff, >> Windows.UIColor.Foreground=0xffffffff, >> Windows.UIColor.AccentDark1=0x3e7204ff, >> Windows.UIColor.Background=0x000000ff, >> Windows.UIColor.AccentLight3=0xc1f96cff, >> Windows.UIColor.AccentLight2=0x99f618ff, >> Windows.SysColor.COLOR_GRAYTEXT=0x6d6d6dff, >> Windows.SysColor.COLOR_HIGHLIGHT=0x0078d7ff, >> Windows.UIColor.AccentDark2=0x254b03ff, >> Windows.UIColor.AccentDark3=0x0d2801ff} > > That's a good point. I've changed the implementation so that even when > multiple preferences have changed, only a single invalidation notification is > generated. thank you, getting one event per change via OS Settings panel on win11 and macOS. @kevinrushforth please check this on Linux (I've added this on PlatformPreferencesTest:89 - System.out.println(Platform.getPreferences()); ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1014#discussion_r1317734061