This ensures now splash-screen is shown when preferences are changed or CLI-mode is used.
More information in #5131.
However this does NOT fix#5131, since the Arduino IDE in CLI-mode still requires X11 (according to #1981).
The startup bash script lacked quotes in some places, causing it to
interpret part of the path to the splash image as the main class and
fail to start:
arduino: line 29: [: /home/a/Arduino: binary operator expected
Error: Could not find or load main class IDE.lib.splash.png
For the -splash option, simply adding quotes was not sufficient. If no
splash screen was to be used (so when $SPLASH was empty), using
"$SPLASH" would result in an empty argument being passed to java, which
was then interpreted by java as the name of the base class.
To allow spaces to occur in the -splash option, but also allow it to be
omitted entirely, options to java are now passed through the
$JAVA_OPTIONS array. By using the special "${JAVA_OPTIONS[@]}" syntax,
each element in the array is expanded into a single argument, even when
spaces are present inside (this is identical to what happens with "$@").
This fixes#3950
Also upgrading appbundler with a patched version: https://bitbucket.org/ffissore/appbundler It allows to know the current working directory
These two put together, we can now rely on APP_DIR when loading IDE resources while being sure current working directory is properly set, thus being much more friendly when run from CLI
Fixes#1493