RFR: 8091629: [Mac] Support the automatic hiding of the "java" menu bar item when using the system menu bar

Kevin Rushforth kcr at openjdk.org
Fri Mar 14 21:34:59 UTC 2025


On Fri, 14 Mar 2025 18:09:23 GMT, Martin Fox <mfox at openjdk.org> wrote:

> On the Mac the application menu (the one to the right of the Apple logo menu) is created by JavaFX and there is no public API to customize or localize it. This PR allows a client to get rid of it and replace it with an entirely custom JavaFX Menu.
> 
> Prior to OS X 10.6 (Snow Leopard) the application menu required special handling. Nowadays it's just the first item in the NSApp's mainMenu. The only restriction is that the OS ignores the item's title and instead uses the application's name as specified in the CFBundle.
> 
> This PR is a work-in-progress/trial balloon. It provides a new property on the MenuBar that controls whether the system will use the default menus. It also supplies the calls necessary to implement the standard menu items "Hide <application>", "Hide Others", and "Show All" which need to be routed to native calls on the NSApplication object. A manual test app is available in tests/manual/controls/DefaultAppMenu.java.

This should be discussed on the mailing list first. I recommend moving it to Draft for now. If it goes forward it will need a CSR.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1737#issuecomment-2725820152


More information about the openjfx-dev mailing list