Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add darklaf look and feel #556

Merged
merged 2 commits into from
Mar 14, 2020
Merged

Add darklaf look and feel #556

merged 2 commits into from
Mar 14, 2020

Conversation

vlsi
Copy link
Collaborator

@vlsi vlsi commented Feb 14, 2020

See https://github.com/weisJ/darklaf/wiki/Features

Note: this PR completely removes bulenkov/darcula from JMeter, and it uses darklaf/darcula if that was selected in the users' preferences.

It works more or less, however, there are glitches (all known issues are fixed):

  1. Checkbox and Radiobutton controls do not work when user clicks on the text label <-- this is blocker Fixed in It looks like click on a label for a checkbox is not dispatched in darklaf weisJ/darklaf#24 (comment)
  2. Disabled label in macOS / darcula theme is black on darkgrey, so it is unreadable
  3. Menu is not integrated with macOS menu (no idea why)
  4. darklaf build fails under mac with windows.h not found (e.g. if someone tries to contribute to darklaf)

Apache JMeter with bulenkov/darcula:
jmeter_darcula

Apache JMeter with weisJ/darflaf/darcula:
darklaf_darcula

Apache JMeter with weisJ/darflaf/IntelliJ (just in case):
darklaf_intellij

LaF menu:
Look and feel menu

@vlsi
Copy link
Collaborator Author

vlsi commented Feb 16, 2020

OK, just watch this. The tree component is 100500 times better. It is very readable, and the parent is immediately visible.

The layout of HTTP request leaves much to be desired, however, it is like that because JMeter code adjusts fonts here and there :-/

jmeter_tree

@vlsi vlsi force-pushed the darklaf branch 2 times, most recently from 5586b70 to 52e8d2f Compare March 11, 2020 07:32
@vlsi
Copy link
Collaborator Author

vlsi commented Mar 11, 2020

Updated darklaf to 1.4.1.0 which is very usable from my point of view.

@pmouawad , @FSchumacher , what do you think if we replace the current darcula with darklaf?

@vlsi vlsi force-pushed the darklaf branch 2 times, most recently from 23de7c9 to 67b61ec Compare March 11, 2020 08:34
@pmouawad
Copy link
Contributor

@vlsi , what are the remaining issues on it ?

  • Disabled label in macOS / darcula theme is black on darkgrey, so it is unreadable :( => I thin it's fixed right ?
  • Menu is not integrated with macOS menu (no idea why) => Not a big problem for me, but is it for MAC OSX users ?
  • darklaf build fails under mac with windows.h not found (e.g. if someone tries to contribute to darklaf) => Also not a problem for me, was it reported to the project ?

Thanks

@vlsi
Copy link
Collaborator Author

vlsi commented Mar 14, 2020 via email

@pmouawad
Copy link
Contributor

@vlsi , in this case +1 for switching

@vlsi vlsi changed the title WIP: add darklaf look and feel Add darklaf look and feel Mar 14, 2020
@vlsi
Copy link
Collaborator Author

vlsi commented Mar 14, 2020

I've updated the images and the description of the first message.

@vlsi vlsi marked this pull request as ready for review March 14, 2020 20:51
It is an evolution of Darcula look and feel which theming support.
@vlsi vlsi merged commit a19675b into apache:master Mar 14, 2020
@pmouawad
Copy link
Contributor

Hello,
I tested running on my Mac OSX, it fails with:

An error occurred: /private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib: dlopen(/private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib, 1): Symbol not found: _NSAppearanceNameDarkAqua
Referenced from: /private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib
Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit
in /private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib

Regards

@vlsi
Copy link
Collaborator Author

vlsi commented Mar 14, 2020

Am I right it does not impact JMeter execution?
What is your macOS version?

@pmouawad
Copy link
Contributor

pmouawad commented Mar 14, 2020

Unless I misunderstand your question It does, JMeter does not start:

  • 10.11.16

Stacktrace:

2020-03-14 22:40:32,223 INFO o.a.j.JMeter: Setting LAF to: com.github.weisj.darklaf.DarkLaf:com.github.weisj.darklaf.theme.DarculaTheme 2020-03-14 22:40:32,309 ERROR o.a.j.JMeter: An error occurred: java.lang.UnsatisfiedLinkError: /private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib: dlopen(/private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib, 1): Symbol not found: _NSAppearanceNameDarkAqua Referenced from: /private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib Expected in: /System/Library/Frameworks/AppKit.framework/Versions/C/AppKit in /private/var/folders/72/68dyl2ns1q37l4f0p5yfmg4w0000gn/T/nativeutils61999062531814/libdarklaf-macos.dylib at java.lang.ClassLoader$NativeLibrary.load(Native Method) ~[?:1.8.0_201] at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941) ~[?:1.8.0_201] at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1824) ~[?:1.8.0_201] at java.lang.Runtime.load0(Runtime.java:809) ~[?:1.8.0_201] at java.lang.System.load(System.java:1086) ~[?:1.8.0_201] at com.github.weisj.darklaf.platform.NativeUtil.loadLibraryFromJar(NativeUtil.java:108) ~[darklaf-native-utils-1.4.1.0.jar:1.4.1.0] at com.github.weisj.darklaf.platform.macos.JNIDecorationsMacOS.loadLibrary(JNIDecorationsMacOS.java:76) ~[darklaf-macos-1.4.1.0.jar:1.4.1.0] at com.github.weisj.darklaf.platform.macos.JNIDecorationsMacOS.updateLibrary(JNIDecorationsMacOS.java:65) ~[darklaf-macos-1.4.1.0.jar:1.4.1.0] at com.github.weisj.darklaf.platform.macos.MacOSDecorationsProvider.initialize(MacOSDecorationsProvider.java:49) ~[darklaf-macos-1.4.1.0.jar:1.4.1.0] at com.github.weisj.darklaf.platform.Decorations.initialize(Decorations.java:70) ~[darklaf-core-1.4.1.0.jar:1.4.1.0] at com.github.weisj.darklaf.DarkLaf.setupDecorations(DarkLaf.java:147) ~[darklaf-core-1.4.1.0.jar:1.4.1.0] at com.github.weisj.darklaf.DarkLaf.getDefaults(DarkLaf.java:120) ~[darklaf-core-1.4.1.0.jar:1.4.1.0] at javax.swing.UIManager.setLookAndFeel(UIManager.java:539) ~[?:1.8.0_201] at javax.swing.UIManager.setLookAndFeel(UIManager.java:583) ~[?:1.8.0_201] at com.github.weisj.darklaf.LafManager.install(LafManager.java:171) ~[darklaf-core-1.4.1.0.jar:1.4.1.0] at com.github.weisj.darklaf.LafManager.installTheme(LafManager.java:140) ~[darklaf-core-1.4.1.0.jar:1.4.1.0] at org.apache.jmeter.gui.action.LookAndFeelCommand.activateLookAndFeel(LookAndFeelCommand.java:211) ~[ApacheJMeter_core.jar:5.3-SNAPSHOT] at org.apache.jmeter.JMeter.startGui(JMeter.java:377) ~[ApacheJMeter_core.jar:5.3-SNAPSHOT] at org.apache.jmeter.JMeter.start(JMeter.java:544) [ApacheJMeter_core.jar:5.3-SNAPSHOT] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201] at org.apache.jmeter.NewDriver.main(NewDriver.java:252) [ApacheJMeter.jar:5.3-SNAPSHOT]

@vlsi
Copy link
Collaborator Author

vlsi commented Mar 14, 2020

Can you provide full error log?

@pmouawad
Copy link
Contributor

I sent it to you

@vlsi
Copy link
Collaborator Author

vlsi commented Mar 15, 2020

@pmouawad , Symbol not found: _NSAppearanceNameDarkAqua should be fixed in 73ee2f6

@weisJ
Copy link
Contributor

weisJ commented Mar 15, 2020

@pmouawad I would really appreciate if you could test out this branch of darklaf on your machine and tell me whether you are able to load the native library.

@pmouawad
Copy link
Contributor

@weisJ I have just tested it and it works now with your last version, Thank you !

@vlsi , thanks for work on this, the result is nice

@pmouawad
Copy link
Contributor

@weisJ , I just tested jmeter, I am commenting on weisJ/darklaf#72 now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants