JAL-3594 New jalview.util.ChannelProperties to get/cache values and images used in...
[jalview.git] / src / jalview / bin / Launcher.java
index fb1c5cd..c8f2f48 100644 (file)
@@ -26,6 +26,8 @@ import java.lang.management.ManagementFactory;
 import java.util.ArrayList;
 import java.util.List;
 
+import jalview.util.ChannelProperties;
+
 /**
  * A Launcher class for Jalview. This class is used to launch Jalview from the
  * shadowJar when Getdown is not used or available. It attempts to take all the
@@ -45,12 +47,13 @@ public class Launcher
 {
   private final static String startClass = "jalview.bin.Jalview";
 
-  private final static String dockIconPath = "JalviewLogo_Huge.png";
+  private final static String dockIconPath = ChannelProperties
+          .getProperty("logo.512");
 
   /**
    * main method for jalview.bin.Launcher. This restarts the same JRE's JVM with
-   * the same arguments but with memory adjusted based on extracted -jvmmempc and
-   * -jvmmemmax application arguments. If on a Mac then extra dock:icon and
+   * the same arguments but with memory adjusted based on extracted -jvmmempc
+   * and -jvmmemmax application arguments. If on a Mac then extra dock:icon and
    * dock:name arguments are also set.
    * 
    * @param args
@@ -130,7 +133,7 @@ public class Launcher
     if (!memSet)
     {
       long maxMemLong = MemorySetting.getMemorySetting(jvmmemmax, jvmmempc);
-      
+
       if (maxMemLong > 0)
       {
         memSetting = "-Xmx" + Long.toString(maxMemLong);
@@ -153,6 +156,12 @@ public class Launcher
       }
     }
 
+    String scalePropertyArg = HiDPISetting.getScalePropertyArg();
+    if (scalePropertyArg != null)
+    {
+      command.add(scalePropertyArg);
+    }
+
     command.add(startClass);
     command.addAll(arguments);
 
@@ -176,7 +185,8 @@ public class Launcher
       if (e.getMessage().toLowerCase().contains("memory"))
       {
         System.out.println("Caught a memory exception: " + e.getMessage());
-        // Probably the "Cannot allocate memory" error, try without the memory setting
+        // Probably the "Cannot allocate memory" error, try without the memory
+        // setting
         ArrayList<String> commandNoMem = new ArrayList<>();
         for (int i = 0; i < command.size(); i++)
         {