<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Well, it is not a permanent solution, just a way to test to see
if it actually solves your problem.</p>
<p>--John<br>
</p>
<div class="moz-cite-prefix">On 12/02/2023 23:23, Pedro Duque Vieira
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAAEud6Ya_7fsdOSd=f3KxxA0Vo3MvxkToCxscMyH=ev5tR8JYA@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">.. all in all of course, I'd prefer a solution that
properly fixes this bug and not have to rely on hacks that are
prone to break in the future or code that needs to circumvent
encapsulation or the module system. So either one is unlikely to
be a fix I'm happy with.
<div><br>
</div>
<div>Thanks for considering submitting a PR to properly fix this
issue!</div>
<div><br>
</div>
<div>Kind regards,<br>
<div><br>
</div>
<div><br>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Feb 12, 2023 at 10:15
PM Pedro Duque Vieira <<a
href="mailto:pedro.duquevieira@gmail.com"
moz-do-not-send="true" class="moz-txt-link-freetext">pedro.duquevieira@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">John,
<div><br>
</div>
<div>Thank you very much for submitting a work around.
Unfortunately, since there were other higher priority bugs
and features and we're very close to a release, I wasn't
allocated time to work on this much more than sending a
message to this mailing list to warn of the existence of
this bug.</div>
<div>Not sure when I can get back to this. I'll submit your
suggestion to the dev team and if someone is allocated
time to do it, I'll get back here and let you know if it
works.<br>
<br>
There's also this suggestion that I forgot to mention (I
haven't been able to test it though): <a
href="https://stackoverflow.com/questions/65765656/release-mnemonic-when-application-loses-focus"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://stackoverflow.com/questions/65765656/release-mnemonic-when-application-loses-focus</a></div>
<div><br>
</div>
<div>Thanks again, kind regards,</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Feb 12, 2023 at
10:06 PM John Hendrikx <<a
href="mailto:john.hendrikx@gmail.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">john.hendrikx@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p>I'm not sure if you are able to test this yourself,
but I made a fix for this problem.</p>
<p>You could potentially test it by copying the class
`javafx.scene.Scene` in your project (without changing
the package -- and if modules will allow it, I don't
use them personally) and then using this piece of
code:</p>
<p> private void setWindowFocused(boolean value) {<br>
windowFocused = value;<br>
<br>
Node node = getFocusOwner();<br>
if (node != null) {<br>
node.setFocusQuietly(windowFocused,
focusOwner.focusVisible);<br>
node.notifyFocusListeners();<br>
}<br>
<br>
if (windowFocused && accessible !=
null) {<br>
accessible.sendNotification(AccessibleAttribute.FOCUS_NODE);<br>
}<br>
<br>
if (!windowFocused) {<br>
getInternalEventDispatcher().getKeyboardShortcutsHandler().setMnemonicsDisplayEnabled(false);<br>
}<br>
}</p>
<p>The last three lines are what I added. A quick test
on Windows here shows that the mnemonics get disabled
as soon as the window loses focus, and when returning,
they're not responding as you'd expect.</p>
<p>I'll submit a PR as well.<br>
</p>
<p>--John<br>
</p>
<div>On 12/02/2023 15:52, Pedro Duque Vieira wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">The behavior on
Windows is all over the place for different<br>
applications.? I tested a few I've got running:</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Notepad,
Notepad++, Eclipse:</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">- Alt-down:
Shows mnemonics on menu bar<br>
- Alt-up: Highlights file menu on alt release<br>
- Alt-tab: Shows mnemonics but doesn't highlight
menu when it loses<br>
focus; when returning, mnemonics still
highlighted, but doesn't act on<br>
them as menu not selected</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">-> Looks
buggy</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Thunderbird /
Opera / Firefox:</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">- Alt-down:
nothing<br>
- Alt-up: shows menu bar (it is hidden normally)<br>
- Alt-tab: works as expected, no highlighting</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">-> Looks
well behaved</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Explorer /
Excel / Wordpad:</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">- Alt-down:
nothing<br>
- Alt-up: shows mnemonics<br>
- Alt-tab: works as expected, no highlighting</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">-> Looks
well behaved</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Visual Studio
Code:</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">- Alt-down:
Shows mnemonics on menu bar<br>
- Alt-up: Highlights file menu on alt release<br>
- Alt-tab: Shows mnemonics, but hides them once it
loses focus; on<br>
return doesn't show mnemonics</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">-> Looks
well behaved</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Chrome /
IntelliJ:</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">-> Looks
well behaved, doesn't react to alt presses in any
way</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">None of the
applications tested reacted on a mnemonic key
after<br>
regaining focus however, even though they may have
them still<br>
highlighted (which I think is a bug).</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">In my opinion,
the behavior of notepad/notepad++/eclipse is
incorrect<br>
(they need to hide the mnemonics on focus lost,
like Visual Studio Code<br>
does, but they don't).</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">There seems to
be two correct ways of handling mnemonics in
applications<br>
that use them, either:</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">a) shows
mnemonics immediately on alt-down, but hide them
on focus lost<br>
(if the alt-down becomes an alt-tab, or probably
any other alt combination)</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">b) only show
mnemonics on a naked alt-up</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">Ticket
JDK-8090647 mentions a spec that has been updated,
but I can't<br>
find it.? It also mentions that the behavior for
JavaFX should be what I<br>
described in a), so I think this is a bug that can
simply be fixed.</blockquote>
<br>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">--John</blockquote>
<div><br>
</div>
<div><br>
</div>
<div>Yap, there's quite different behaviors across
apps. If you test on windows 11 you'll get yet
another set of different behaviors.</div>
<div><br>
</div>
<div>But all in all, if you: alt+tab (without
release) and alt+tab again so your app regains
focus, you'll have the mnemonic still activated,
which, as you say, sounds like a bug no matter the
difference in behaviors across apps. <br>
<br>
I agree with your suggestion: "a".<br>
<br>
My client was quite disappointed and started to
rant about javafx. It didn't help that we were hit
by a couple other bugs (perhaps bad luck). The
fact that the bug was filed on 2013 (10 years
later) and is still happening can be quite
problematic. <br>
Perhaps it would make sense to review all bugs
filed, giving highest priority to the bugs that
were submitted longer ago?<br>
<br>
Thanks!</div>
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>Pedro Duque Vieira - <a
href="https://www.pixelduke.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.pixelduke.com</a></div>
</div>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<div dir="ltr">
<div>Pedro Duque Vieira - <a
href="https://www.pixelduke.com" target="_blank"
moz-do-not-send="true" class="moz-txt-link-freetext">https://www.pixelduke.com</a></div>
</div>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr" class="gmail_signature">
<div dir="ltr">
<div>Pedro Duque Vieira - <a href="https://www.pixelduke.com"
target="_blank" moz-do-not-send="true"
class="moz-txt-link-freetext">https://www.pixelduke.com</a></div>
</div>
</div>
</blockquote>
</body>
</html>