Closed stelfrich closed 6 years ago
Thanks for your feedback @ctrueden!
Did you do much testing of non-headless CLI scenarios, to ensure they still don't splash?
I thought I had and then went back to do some more testing only to find out that there was an issue with the --no-splash
option. The behavior is now that -Dimagej.splash=true
has to be set in order for the splash screen to show up. If it's set to false
or is not set at all, the splash screen will not be shown. Also, the --headless
option overrides the setting on the launcher level, plus we have an additional check in place.
I have tested
./ImageJ-linux64
→ splash./ImageJ-linux64 --no-splash
→ no splash./ImageJ-linux64 --system --no-splash
→ no splash./ImageJ-linux64 --headless
→ no-splash./ImageJ-macosx
→ splash./ImageJ-macosx --no-splash
→ no splash./ImageJ-macosx --system --no-splash
→ no splash./ImageJ-macosx --headless
→ no-splash./ImageJ-linux64
→ no splashIf you are fine with the changes, I'll squash them into one commit (they don't seem educational) and merge to master.
What about the ./ImageJ-macosx --update
command line tool?
./ImageJ-macos --update
→ no splash, but expected output./ImageJ-macos --bsh
→ no splash, but interactive shell./ImageJ-macos --javadoc
→ no splash, but expected error./ImageJ-macos --javap
→ no splash, but expected error./ImageJ-macos --ij1
, @ctrueden? Currently, the new splash screen is shown instead of the old one.@stelfrich Sorry for dropping the ball on this. Any reasons not to merge this? The worst-case scenario would be that people's ImageJs don't launch anymore... but I think there is little danger of that here, no? If the launcher "over-splashes" (i.e. splashes in scenarios where it shouldn't), we can simply push out additional fixes. Right?
If the launcher "over-splashes" (i.e. splashes in scenarios where it shouldn't), we can simply push out additional fixes. Right?
Correct. Let's get this merged!
This removes the native implementation that was hard to maintain in the past and wasn't working properly in some cases. In addition, changes to how
libsplashscreen
is linked starting with Java 9 has made usinglibjvm
basically impossible.The new Java implementation offers a progress bar during startup which is currently static. Future versions could improve on this and make the startup even more verbose s.t. we can get more information on where it grinds to a halt / an issue appears.
Thanks for working on this @ctrueden!
This closes #50 and closes #40.