JAL-1759 merge from develop
[jalview.git] / src / jalview / bin / Jalview.java
index 0fe1664..f6d0099 100755 (executable)
  */
 package jalview.bin;
 
+import jalview.gui.AlignFrame;
+import jalview.gui.Desktop;
+import jalview.io.BioJsHTMLOutput;
+import jalview.io.HtmlSvgOutput;
+import jalview.util.MessageManager;
+import jalview.util.Platform;
+import jalview.ws.jws2.Jws2Discoverer;
+
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.BufferedReader;
@@ -45,13 +53,6 @@ import java.util.Vector;
 import javax.swing.UIManager;
 import javax.swing.UnsupportedLookAndFeelException;
 
-import jalview.gui.AlignFrame;
-import jalview.gui.Desktop;
-import jalview.io.HtmlSvgOutput;
-import jalview.util.MessageManager;
-import jalview.util.Platform;
-import jalview.ws.jws2.Jws2Discoverer;
-
 /**
  * Main class for Jalview Application <br>
  * <br>
@@ -93,23 +94,6 @@ public class Jalview
     System.out.println(System.getProperty("os.arch") + " "
             + System.getProperty("os.name") + " "
             + System.getProperty("os.version"));
-    // if (new Platform().isAMac())
-    // {
-    // // System.setProperty("com.apple.mrj.application.apple.menu.about.name",
-    // // "Jalview");
-    // // System.setProperty("apple.laf.useScreenMenuBar", "true");
-    // try
-    // {
-    // UIManager.setLookAndFeel(ch.randelshofer.quaqua.QuaquaManager
-    // .getLookAndFeel());
-    // System.out
-    // .println("--------------------------------------------> in here");
-    // } catch (UnsupportedLookAndFeelException e)
-    // {
-    // // TODO Auto-generated catch block
-    // e.printStackTrace();
-    // }
-    // }
 
     ArgsParser aparser = new ArgsParser(args);
     boolean headless = false;
@@ -241,8 +225,13 @@ public class Jalview
       desktop.checkForNews();
     }
 
+    if (!isHeadlessMode())
+    {
+      BioJsHTMLOutput.updateBioJS();
+    }
+
     String file = null, protocol = null, format = null, data = null;
-    jalview.io.FileLoader fileLoader = new jalview.io.FileLoader();
+    jalview.io.FileLoader fileLoader = new jalview.io.FileLoader(!headless);
     Vector getFeatures = null; // vector of das source nicknames to fetch
     // features from
     // loading is done.
@@ -532,8 +521,10 @@ public class Jalview
           }
           else if (format.equalsIgnoreCase("eps"))
           {
-            System.out.println("Creating EPS file: " + file);
-            af.createEPS(new java.io.File(file));
+            File outputFile = new java.io.File(file);
+            System.out.println("Creating EPS file: "
+                    + outputFile.getAbsolutePath());
+            af.createEPS(outputFile);
             continue;
           }
 
@@ -977,6 +968,16 @@ public class Jalview
     }
     return ff;
   }
+
+  public static boolean isHeadlessMode()
+  {
+    String isheadless = System.getProperty("java.awt.headless");
+    if (isheadless != null && isheadless.equalsIgnoreCase("true"))
+    {
+      return true;
+    }
+    return false;
+  }
 }
 
 /**
@@ -1145,4 +1146,4 @@ class FeatureFetcher
     return queued == 0 && running == 0;
   }
 
-};
+}