imagej / imagej-launcher

The ImageJ native launcher
https://imagej.net/learn/launcher
BSD 2-Clause "Simplified" License
21 stars 23 forks source link

Replace native splash with Java implementation #53

Closed stelfrich closed 6 years ago

stelfrich commented 6 years ago

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 using libjvm 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.

stelfrich commented 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

If you are fine with the changes, I'll squash them into one commit (they don't seem educational) and merge to master.

ctrueden commented 6 years ago

What about the ./ImageJ-macosx --update command line tool?

stelfrich commented 6 years ago
ctrueden commented 6 years ago

@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?

stelfrich commented 6 years ago

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!