git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3820 add java and java.exe from JAVAHOME to list of likely JVMs
[jalview.git]
/
src
/
jalview
/
bin
/
Launcher.java
diff --git
a/src/jalview/bin/Launcher.java
b/src/jalview/bin/Launcher.java
index
a87d322
..
c333e2e
100644
(file)
--- a/
src/jalview/bin/Launcher.java
+++ b/
src/jalview/bin/Launcher.java
@@
-50,6
+50,8
@@
public class Launcher
{
private final static String startClass = "jalview.bin.Jalview";
{
private final static String startClass = "jalview.bin.Jalview";
+ private final static String headlessProperty = "java.awt.headless";
+
private static boolean checkJVMSymlink(String testBin)
{
File testBinFile = new File(testBin);
private static boolean checkJVMSymlink(String testBin)
{
File testBinFile = new File(testBin);
@@
-94,13
+96,14
@@
public class Launcher
final String javaBinDir = System.getProperty("java.home")
+ File.separator + "bin" + File.separator;
String javaBin = null;
final String javaBinDir = System.getProperty("java.home")
+ File.separator + "bin" + File.separator;
String javaBin = null;
- if (javaBin == null && checkJVMSymlink(javaBinDir + appName))
- {
- javaBin = javaBinDir + appName;
- }
- if (javaBin == null && checkJVMSymlink(javaBinDir + "Jalview"))
+ for (String name : new String[] { appName, "Jalview", "java",
+ "java.exe" })
{
{
- javaBin = javaBinDir + "Jalview";
+ if (checkJVMSymlink(javaBinDir + name))
+ {
+ javaBin = javaBinDir + name;
+ break;
+ }
}
if (javaBin == null)
{
}
if (javaBin == null)
{
@@
-127,6
+130,8
@@
public class Launcher
boolean debug = false;
boolean wait = true;
boolean quiet = false;
boolean debug = false;
boolean wait = true;
boolean quiet = false;
+ boolean headless = false;
+ boolean gui = false;
// must set --debug before --launcher...
boolean launcherstop = false;
boolean launcherprint = false;
// must set --debug before --launcher...
boolean launcherstop = false;
boolean launcherprint = false;
@@
-142,6
+147,14
@@
public class Launcher
{
quiet = true;
}
{
quiet = true;
}
+ if (arg.equals("--headless"))
+ {
+ headless = true;
+ }
+ if (arg.equals("--gui"))
+ {
+ gui = true;
+ }
if (debug && arg.equals("--launcherprint"))
{
launcherprint = true;
if (debug && arg.equals("--launcherprint"))
{
launcherprint = true;
@@
-199,6
+212,11
@@
public class Launcher
arguments.add(arg);
}
}
arguments.add(arg);
}
}
+ if (gui)
+ {
+ // --gui takes precedence over --headless
+ headless = false;
+ }
// use saved preferences if no cmdline args
boolean useCustomisedSettings = LaunchUtils
// use saved preferences if no cmdline args
boolean useCustomisedSettings = LaunchUtils
@@
-221,6
+239,7
@@
public class Launcher
boolean memSet = false;
boolean dockIcon = false;
boolean dockName = false;
boolean memSet = false;
boolean dockIcon = false;
boolean dockName = false;
+ boolean headlessProp = false;
for (int i = 0; i < command.size(); i++)
{
String arg = command.get(i);
for (int i = 0; i < command.size(); i++)
{
String arg = command.get(i);
@@
-241,6
+260,10
@@
public class Launcher
{
dockName = true;
}
{
dockName = true;
}
+ else if (arg.startsWith("-D" + headlessProperty + "="))
+ {
+ headlessProp = true;
+ }
}
if (!memSet)
}
if (!memSet)
@@
-276,6
+299,11
@@
public class Launcher
+ appName);
}
}
+ appName);
}
}
+ if (headless && !headlessProp)
+ {
+ System.setProperty(headlessProperty, "true");
+ command.add("-D" + headlessProperty + "=true");
+ }
String scalePropertyArg = HiDPISetting.getScalePropertyArg();
if (scalePropertyArg != null)
String scalePropertyArg = HiDPISetting.getScalePropertyArg();
if (scalePropertyArg != null)