On Sat, 22 Apr 2023 14:42:10 GMT, Kevin Rushforth <k...@openjdk.org> wrote:
>> Thiago Milczarek Sayao has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Request Focus on setVisible > > I'll look at this early next week. My initial question for you is: Why wasn't > the restored call to `requestFocus()` put back in the same place? It used to > be in `setScene` and now is in `setVisible`. Was that change necessary? > > I'd also like @jperedadnr to review this, since he was looking at > [JDK-8304476](https://bugs.openjdk.org/browse/JDK-8304476), which was also > caused by the fix for JDK-8296621. I would expect this new fix to also fix > JDK-8304476. @kevinrushforth I think it makes sense to call on `setVisible` because it would translate from `stage.show()` and keep the behavior used to have on `setScene`. But on `setScene` it would: 1. In the most common scenario where a `Stage` will only have one `Scene` during it's lifetime, it would call `requestFocus` before the window exists (mapped on the screen). I think it makes more sense to map the window on the screen and then focus. 2. In the scenario where multiple scenes exists during the lifetime of the `Stage`, it would keep bringing the window up, restoring [JDK-8296621](https://bugs.openjdk.org/browse/JDK-8296621). It could check if it's the first `Scene`, but there's still (1). There's a scenario where the user would want to `show` the stage but not raise/focus it (like show it on the taskbar, but not pop to the user). I think that should be possible (at least on platforms with window managers). Speaking of this, I think it will not work (will look into it). ------------- PR Comment: https://git.openjdk.org/jfx/pull/1110#issuecomment-1518687998