Re: Ending the need for apple.laf.useScreenMenuBar

2015-03-10 Thread David DeHaven

 
 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

2015-01-23 Thread Scott Palmer
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

2015-01-23 Thread Mike Murray
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.