Re: Ending the need for apple.laf.useScreenMenuBar
Curious. I just started jconsole to watch memory usage for a java application. It shows a non-mac in-frame menubar? With just jconsole…. which jconsole /usr/bin/jconsole ls -l /usr/bin/jconsole lrwxr-xr-x 1 root wheel 78 Sep 16 19:13 /usr/bin/jconsole - /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jconsole These are all stub binaries that use the same mechanism that java_home uses to find and launch the latest JDK commands. -DrD-
Re: Ending the need for apple.laf.useScreenMenuBar
The default LaF on OS X is not Metal/Ocean, but Aqua... so there is already precedent in having the user experience be tailored to Mac for those that don't explicitly set it. I think it would be reasonable to set this by default. Scott On Fri, Jan 23, 2015 at 4:49 AM, Sergey Bylokhov sergey.bylok...@oracle.com wrote: On 05.12.2011 21:29, Mike Swingler wrote: On Dec 5, 2011, at 6:49 AM, Scott Palmer wrote: On Mon, Dec 5, 2011 at 6:04 AM, Artem Ananiev artem.anan...@oracle.com wrote: On 12/3/2011 4:23 AM, Scott Kovatch wrote: On Dec 2, 2011, at 2:57 PM, Mike Swingler wrote: On Dec 2, 2011, at 2:28 PM, Mario Torre wrote: Il giorno 02/dic/2011, alle ore 23:25, Scott Kovatch ha scritto: Folks, This may be a better question for Artem and the AWT/Swing team, but it affects the Mac so I'm starting here. Now that it's 2011, can we please get rid of apple.laf.useScreenMenuBar and just allow menu bars in the Aqua LF to be enabled by default? I believe JavaFx doesn't force Mac menu bars into the window (but if it does, I will make my displeasure known to Richard Bair on Monday.) I ask, because today I was looking at the changes to Web Start and the plugin to allow this property as a 'safe' one that can be defined in a JNLP file, and I decided now is the time to get rid of it once and for all. It's not that I object to adding it to Web Start; I object to the necessity of having to define it in the first place. -- Scott I think you're right, I'm in favor of this change too. Cheers, Mario I'd be the first one to advocate for this, but isn't the key problem that he semantics of the Screen Menu bar violate certain rules in the JCK? Implementing arbitrary Java drawing into NSView-based menu items might even be possible post-Leopard, but is that really something the AWT team would want to implement? JMenuItem is a JComponent... as such Java developers are rightfully going to assume that the painting pipeline for JComponents applies. Wanting (or not) to implement it isn't really an argument :-) There are lots of UI guidelines that are platform specific and a general UI framework may support things that aren't typical or desirable on a specific platform. E.g. I believe on OS X icons on menu items are generally discouraged, even though they are possible such as is seen in Safari's Bookmarks menu. I'm not saying that I'm against this by the way. If the Aqua LF automatically uses the screen menu bar that's fine with me. So long as code that does unusual things with JMenuItems doesn't crash. It wouldn't be the first time a particular look and feel was slightly incompatible with the cross-platform look and feel. Perhaps though, just in case, the Java Preference app could be used to toggle the default menu behaviour for the Aqua LF? At least that would give people a workaround for things that break. The current situation is the ScreenMenuBar is not default, but virtually every app that has an explicit deployment for the Mac sets this property. Apps that don't even bother to test or deploy for Mac OS X get cross platform behavior and a cross platform user experience. I don't see the harm of letting developers continue opt-up into a less compatible, but more Mac-like experience. This is just like using Meta instead of Ctrl based keyboard accelerators when on a Mac. I suppose nobody object to enable this property by default in jdk9? The possibility to switch it off will exist. Regards, Mike Swingler Apple Inc. -- Best regards, Sergey.
Re: Ending the need for apple.laf.useScreenMenuBar
Just fyi and my two cents, dealing with the screen menubar is potentially problematic for multiframe swing apps. We needed special code for our app as the menu would frequently dissappear. -m On 1:41pm, Fri, Jan 23, 2015 Scott Palmer swpal...@gmail.com wrote: The default LaF on OS X is not Metal/Ocean, but Aqua... so there is already precedent in having the user experience be tailored to Mac for those that don't explicitly set it. I think it would be reasonable to set this by default. Scott On Fri, Jan 23, 2015 at 4:49 AM, Sergey Bylokhov sergey.bylok...@oracle.com wrote: On 05.12.2011 21:29, Mike Swingler wrote: On Dec 5, 2011, at 6:49 AM, Scott Palmer wrote: On Mon, Dec 5, 2011 at 6:04 AM, Artem Ananiev artem.anan...@oracle.com wrote: On 12/3/2011 4:23 AM, Scott Kovatch wrote: On Dec 2, 2011, at 2:57 PM, Mike Swingler wrote: On Dec 2, 2011, at 2:28 PM, Mario Torre wrote: Il giorno 02/dic/2011, alle ore 23:25, Scott Kovatch ha scritto: Folks, This may be a better question for Artem and the AWT/Swing team, but it affects the Mac so I'm starting here. Now that it's 2011, can we please get rid of apple.laf.useScreenMenuBar and just allow menu bars in the Aqua LF to be enabled by default? I believe JavaFx doesn't force Mac menu bars into the window (but if it does, I will make my displeasure known to Richard Bair on Monday.) I ask, because today I was looking at the changes to Web Start and the plugin to allow this property as a 'safe' one that can be defined in a JNLP file, and I decided now is the time to get rid of it once and for all. It's not that I object to adding it to Web Start; I object to the necessity of having to define it in the first place. -- Scott I think you're right, I'm in favor of this change too. Cheers, Mario I'd be the first one to advocate for this, but isn't the key problem that he semantics of the Screen Menu bar violate certain rules in the JCK? Implementing arbitrary Java drawing into NSView-based menu items might even be possible post-Leopard, but is that really something the AWT team would want to implement? JMenuItem is a JComponent... as such Java developers are rightfully going to assume that the painting pipeline for JComponents applies. Wanting (or not) to implement it isn't really an argument :-) There are lots of UI guidelines that are platform specific and a general UI framework may support things that aren't typical or desirable on a specific platform. E.g. I believe on OS X icons on menu items are generally discouraged, even though they are possible such as is seen in Safari's Bookmarks menu. I'm not saying that I'm against this by the way. If the Aqua LF automatically uses the screen menu bar that's fine with me. So long as code that does unusual things with JMenuItems doesn't crash. It wouldn't be the first time a particular look and feel was slightly incompatible with the cross-platform look and feel. Perhaps though, just in case, the Java Preference app could be used to toggle the default menu behaviour for the Aqua LF? At least that would give people a workaround for things that break. The current situation is the ScreenMenuBar is not default, but virtually every app that has an explicit deployment for the Mac sets this property. Apps that don't even bother to test or deploy for Mac OS X get cross platform behavior and a cross platform user experience. I don't see the harm of letting developers continue opt-up into a less compatible, but more Mac-like experience. This is just like using Meta instead of Ctrl based keyboard accelerators when on a Mac. I suppose nobody object to enable this property by default in jdk9? The possibility to switch it off will exist. Regards, Mike Swingler Apple Inc. -- Best regards, Sergey.