Merge branch 'bug/JAL-4344_structureimage_cl_arg_only_creating_background_colour_squa...
[jalview.git] / utils / conda / jalview.sh
index 995195f..9ac2807 100755 (executable)
@@ -26,7 +26,6 @@
 ###############################
 
 declare -a ARGS=("${@}")
-ARG1=$1
 
 # this function is because there's no readlink -f in Darwin/macOS
 function readlinkf() {
@@ -72,7 +71,7 @@ for RAWARG in "${@}"; do
     --headless|--output|--image|--structureimage)
       HEADLESS=1
       ;;
-    --help|--help-*|--version)
+    --help|--help-*|--version|-h)
       HELP=1
       ;;
     --gui)
@@ -99,15 +98,23 @@ declare -a JVMARGS=()
 if [ "${ISMACOS}" = 1 ]; then
 # MACOS ONLY
   DIR="$(dirname "$(readlinkf "$0")")"
-  JVMARGS=( "${JVMARGS[@]}" "-Xdock:icon=${DIR}/jalview_logo.png" )
+  if [ -e "${DIR}/jalview_logo.png" ]; then
+    JVMARGS=( "${JVMARGS[@]}" "-Xdock:icon=${DIR}/jalview_logo.png" )
+  fi
 else
 # NOT MACOS
   DIR="$(dirname "$(readlink -f "$0")")"
 fi
 
 if [ "${HEADLESS}" = 1 ]; then
-  # this suppresses the Java icon appearing in the macOS Dock and maybe other things in other OSes
-  JVMARGS=( "${JVMARGS[@]}" "-Djava.awt.headless=true" )
+  # not setting java.awt.headless in java invocation of running jalview due to problem with Jmol
+  if [ "${HELP}" = 1 ]; then
+    JVMARGS=( "${JVMARGS[@]}" "-Djava.awt.headless=true" )
+  fi
+  # this suppresses the Java icon appearing in the macOS Dock
+  if [ "${ISMACOS}" = 1 ]; then
+    JVMARGS=( "${JVMARGS[@]}" "-Dapple.awt.UIElement=true" )
+  fi
 fi
 
 JAVA=java
@@ -171,8 +178,22 @@ elif command -v resize 2>&1 >/dev/null; then
 fi
 JVMARGS=( "${JVMARGS[@]}" "-DCONSOLEWIDTH=${COLUMNS}" )
 
+function quotearray() {
+  QUOTEDVALS=""
+  for VAL in "${@}"; do
+    if [ \! "$QUOTEDVALS" = "" ]; then
+      QUOTEDVALS="${QUOTEDVALS} "
+    fi
+    QUOTEDVALS="${QUOTEDVALS}\"${VAL}\""
+  done
+  echo $QUOTEDVALS
+}
+
+JVMARGSSTR=$(quotearray "${JVMARGS[@]}")
+ARGSSTR=$(quotearray "${ARGS[@]}")
+
 if [ "${DEBUG}" = 1 ]; then
- echo Shell running: "${JAVA}" "${JVMARGS[@]}" -jar \""${JARPATH}"\" "${ARGS[@]}"
+ echo Shell running: \""${JAVA}"\" ${JVMARGSSTR} -jar \""${JARPATH}"\" ${ARGSSTR}
 fi
 
 "${JAVA}" "${JVMARGS[@]}" -jar "${JARPATH}" "${ARGS[@]}"