Bug 52026 - Default to System-PL
Summary: Default to System-PL
Status: RESOLVED WONTFIX
Alias: None
Product: JMeter
Classification: Unclassified
Component: Main (show other bugs)
Version: 2.5.1
Hardware: PC All
: P2 trivial (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-14 09:37 UTC by immanuel.hayden
Modified: 2011-10-15 12:55 UTC (History)
0 users



Attachments
CrossPlatform LAF (14.56 KB, image/png)
2011-10-14 13:27 UTC, Sebb
Details
System LAF (6.50 KB, image/png)
2011-10-14 13:27 UTC, Sebb
Details
LaF comparisons (142.41 KB, image/png)
2011-10-14 16:04 UTC, immanuel.hayden
Details
System LAF on Ubuntu (70.16 KB, image/png)
2011-10-14 21:25 UTC, Sebb
Details
CrossPlatform LAF on Ubuntu (56.44 KB, image/png)
2011-10-14 21:25 UTC, Sebb
Details
Fedora System LaF (73.05 KB, image/png)
2011-10-15 08:34 UTC, immanuel.hayden
Details
Ubuntu CrossPlatform test plan showing selected element (16.25 KB, image/png)
2011-10-15 10:04 UTC, Sebb
Details
Ubuntu System Test Plan showing selected element (17.59 KB, image/png)
2011-10-15 10:04 UTC, Sebb
Details

Note You need to log in before you can comment on or make changes to this bug.
Description immanuel.hayden 2011-10-14 09:37:57 UTC
Hi!

Please use the system look and feel also on non-mac platforms. Metal look is exceedingly ugly.

Essentially it's simply replacing this section in jmeter.properties:

  # LAF can be overridden by os.name (lowercased, spaces replaced by '_')
  # Sample os.name LAF:
  #jmeter.laf.windows_xp=javax.swing.plaf.metal.MetalLookAndFeel

  # Failing that, the OS family = os.name, but only up to first space:
  # Sample OS family LAF:
  #jmeter.laf.windows=javax.swing.plaf.metal.MetalLookAndFeel

  # Failing that:
  # default LAF
  jmeter.laf=javax.swing.plaf.metal.MetalLookAndFeel

  # Failing that, JMeter uses the CrossPlatform LAF.

  # Mac apparently looks better with the System LAF
  jmeter.laf.mac=System

with this:
  # Use System LAF on all platforms
  jmeter.laf=System

and then add possible workaround for obscure platforms (though according to http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html there are not many platforms where this would apply)
Comment 1 Sebb 2011-10-14 11:41:21 UTC
What OS do you use? (what is the content of os.name?)

It's easy enough to change the jmeter.properties locally.
Comment 2 immanuel.hayden 2011-10-14 12:38:04 UTC
I currently use Windows XP and Windows 7, but the issue should also exist on (GTK-based) linux systems.

My point is: The Metal LaF that is currently default for all platforms but Mac is:
1) really ugly (and not only ugly as in "does not match the rest of the OS theme")
2) does not use the default open/save dialogue of the OS.

I know that these two points also annoy all my colleagues who use JMeter, so this is not only an issue for me. This leads me to two observations:

1) Most probably everybody wants to use the System LaF.
2) Most use "Options" -> "Look and Feel" every time they start JMeter until I point out the config-setting to them.
3) People are pissed by that (Quote C# dev: "haha, this proves why java sucks", and I can't even blame him)
4) If people encounter a problem with the System LaF (which I haven't found any so far in Windows) they can still add a line to the config file.
Comment 3 Sebb 2011-10-14 13:27:18 UTC
Created attachment 27773 [details]
CrossPlatform LAF
Comment 4 Sebb 2011-10-14 13:27:41 UTC
Created attachment 27774 [details]
System LAF
Comment 5 Sebb 2011-10-14 13:29:59 UTC
On my system (Windows XP), the CrossPlatform/Metal LAF looks much better.

The System LAF is ugly.

See the attachments which I created using Shift+Control+G
Comment 6 immanuel.hayden 2011-10-14 16:04:07 UTC
Created attachment 27775 [details]
LaF comparisons

Dunno, don't like the Metal look (esp. the buttons) ... anyhow, my greatest problem is the Feel part anyhow, as any app you style in Metal does not feel like being part of the rest of the system (and that is meant in a _very_ negative way).

So to come to a description of the image: 
#1 First of all the fonts are different which really annoys me as the Metal font is not nice to look at at all. Second the menu has a different layout (no dedicated space for symbols on the right).

#2 shows the different open file dialogues, again of a random Win7 app (paint, i think), then the Metal one which has seriously limited functionality (no favourites on the left, no breadcrumb urls, generally different than the open file dialogues any other app uses which makes it hard to use), third the one that is shown when you activate the System LaF, which is the "legacy" XP-Style open dialogue (though no big deal, as many apps still use that).

<rant>Anyhow, the whole Point of LaF is that you can get a native look on all platforms with minimal work, so defaulting to "Metal" (or any other look) on all platforms is like building a supercomputer farm to print out "hello world"</rant>
Comment 7 Sebb 2011-10-14 17:23:37 UTC
(In reply to comment #6)
> Dunno, don't like the Metal look (esp. the buttons) ... anyhow, my greatest

Unfortunately the screenshots you provided for the open dialogs are all out of focus, so it's not clear how the buttons compare.

> problem is the Feel part anyhow, as any app you style in Metal does not feel
> like being part of the rest of the system (and that is meant in a _very_
> negative way).

All I can say is that the System LAF looks terrible on my WinXP system; ugly fonts and harsh shadows.

The difference between your screen shots is minimal compared with the difference between mine - have a look.

Also, note that only the CrossPlatform/Metal LAF appears to honour the short-cut underlines.

> So to come to a description of the image: 
> #1 First of all the fonts are different which really annoys me as the Metal
> font is not nice to look at at all. Second the menu has a different layout (no
> dedicated space for symbols on the right).

Huh? I can see menu symbols in your comparison.png

> #2 shows the different open file dialogues, again of a random Win7 app (paint,
> i think), then the Metal one which has seriously limited functionality (no
> favourites on the left, no breadcrumb urls, generally different than the open
> file dialogues any other app uses which makes it hard to use), third the one
> that is shown when you activate the System LaF, which is the "legacy" XP-Style
> open dialogue (though no big deal, as many apps still use that).

Agreed, the open files dialogue on CrossPlatform is somewhat simpler, but it is still quite usable.

> <rant>Anyhow, the whole Point of LaF is that you can get a native look on all
> platforms with minimal work, so defaulting to "Metal" (or any other look) on
> all platforms is like building a supercomputer farm to print out "hello
> world"</rant>

According to the Oracle docs, Metal is equivalent to CrossPlatform.
The properties file should probably say so.
Comment 8 immanuel.hayden 2011-10-14 17:41:35 UTC
(In reply to comment #7)
> All I can say is that the System LAF looks terrible on my WinXP system; ugly
> fonts and harsh shadows.
Srsly, why do you use XP then? That's how the native UI buttons look also in other apps.
> Also, note that only the CrossPlatform/Metal LAF appears to honour the
> short-cut underlines.
That's intended behaviour. They show up (as in all other native programs) only when pressing the alt-key.
> > #1 First of all the fonts are different which really annoys me as the Metal
> > font is not nice to look at at all. Second the menu has a different layout (no
> > dedicated space for symbols on the right).
> 
> Huh? I can see menu symbols in your comparison.png
Sorry, my bad, I meant to the left (in the middle image) compared to the windows standard menus.
> Agreed, the open files dialogue on CrossPlatform is somewhat simpler, but it is
> still quite usable.
Sorry, but i have to object. I use JMeter at work for testing a REST-API and we have a huge amount of test files. Thus i set up the favorites to point to the root location of our TC-Directory as jmeter does not remember the last location between restarts (but that's another story). No to mention that you have to get used to yet another file open dialogue which is quite annoying, too.
> According to the Oracle docs, Metal is equivalent to CrossPlatform.
> The properties file should probably say so.
yeah, but metal should be the fallback when everything else fails, not the first choice (at least that's the way I see it).
Comment 9 Sebb 2011-10-14 19:10:25 UTC
(In reply to comment #8)
> > Also, note that only the CrossPlatform/Metal LAF appears to honour the
> > short-cut underlines.
> That's intended behaviour. They show up (as in all other native programs) only
> when pressing the alt-key.

OK, did not know that.

> > Agreed, the open files dialogue on CrossPlatform is somewhat simpler, but it is
> > still quite usable.
> Sorry, but i have to object. I use JMeter at work for testing a REST-API and we
> have a huge amount of test files. Thus i set up the favorites to point to the
> root location of our TC-Directory as jmeter does not remember the last location between restarts (but that's another story). 

Please file a Bugzilla enhancement request with details.

> > According to the Oracle docs, Metal is equivalent to CrossPlatform.
> > The properties file should probably say so.

It does now.

> yeah, but metal should be the fallback when everything else fails, not the
> first choice (at least that's the way I see it).

The fallback is CrossPlatform == Metal

If changing the default did not have such a bad effect on Windows XP, it might be worth changing the default.

However, it's trivial for you to change the default.

I've not yet had a chance to test it on Windows 7, but if that behaves OK, it would be possible to change the Windows default but keep the current behaviour on XP.
Comment 10 Sebb 2011-10-14 21:25:09 UTC
Created attachment 27780 [details]
System LAF on Ubuntu
Comment 11 Sebb 2011-10-14 21:25:42 UTC
Created attachment 27781 [details]
CrossPlatform LAF on Ubuntu
Comment 12 Sebb 2011-10-14 21:34:22 UTC
I've just tried System and CrossPlatfor LAF on Ubuntu.

System is worse than CrossPlatform, for two reasons:

1) the selected item in tree is shown by changing the background of the full row.
It's not obvious in the screenshot, but it obscures the element icons.
When the menu dropdown is not present, the orange bar extends across the grey background as well.

2) Disabled menu items are a bit difficult to read in comparison with the CrossPlatform laf.

The buttons are rounded in System but not in CrossPlatform, but generally the CrossPlatform LAF is clearer than the System LAF.
Comment 13 immanuel.hayden 2011-10-15 08:34:11 UTC
Created attachment 27783 [details]
Fedora System LaF

Thanks for the effort you put into this :) You are right regarding the Ubuntu theme, it really makes it hard to discern between enabled and disabled menu items [1]. The screenshot shows the situation in Fedora 15 which uses a sane theme. Sadly I'm pretty sure it's not easy/feasible to sniff that out :/


[1]  though this is a general problem with ubuntu's theme used, they really screwed that up for many apps.
Comment 14 Sebb 2011-10-15 10:04:21 UTC
Created attachment 27785 [details]
Ubuntu CrossPlatform test plan showing selected element
Comment 15 Sebb 2011-10-15 10:04:40 UTC
Created attachment 27786 [details]
Ubuntu System Test Plan showing selected element
Comment 16 Sebb 2011-10-15 10:16:11 UTC
(In reply to comment #15)
> Created attachment 27786 [details]
> Ubuntu System Test Plan showing selected element

Note how the background to the selected element obscures the icon.
It's not as neat as the CrossPlatform version.

I think the same applies to the Fedora GTK LAF, judging by the partially obscured test plan.
Comment 17 immanuel.hayden 2011-10-15 11:41:54 UTC
Ok, i see your concern, so I'll mark this as invalid. I guess the optimum would be if JMeter remembered what LaF I chose through the Options menu in some sort of config, so people won't have to edit the properties-file manually (separate config-file because it is easy to overwrite the properties when unziping a new version over an old one ;)).

Should I make a new Bug for that or is there one already?
Comment 18 Sebb 2011-10-15 12:26:45 UTC
(In reply to comment #17)
> I guess the optimum would
> be if JMeter remembered what LaF I chose through the Options menu in some sort
> of config, so people won't have to edit the properties-file manually (separate
> config-file because it is easy to overwrite the properties when unziping a new
> version over an old one ;)).
> 
> Should I make a new Bug for that or is there one already?

New bug; I don't recall there being an enhancement request.

JMeter can use the Preferences class (as it does for recent file names).
Comment 19 immanuel.hayden 2011-10-15 12:55:49 UTC
Ok, done, created #52037 (but I guess you got the mail already ;)). Great collaboration, thanks *thumbs up*