From 66165560531bc7232e6f83bd0f3fa774f17f8160 Mon Sep 17 00:00:00 2001 From: skylarmt Date: Wed, 25 Mar 2015 20:50:30 -0600 Subject: [PATCH] Improve single instance responsiveness --- .../symat/SingleInstanceServer.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/net/apocalypselabs/symat/SingleInstanceServer.java b/src/net/apocalypselabs/symat/SingleInstanceServer.java index 2938e26..a74b5ef 100644 --- a/src/net/apocalypselabs/symat/SingleInstanceServer.java +++ b/src/net/apocalypselabs/symat/SingleInstanceServer.java @@ -65,15 +65,24 @@ public class SingleInstanceServer extends NanoHTTPD { String msg = "OK"; Map parms = session.getParms(); if (parms.get("arg") != null) { - if (parms.get("arg").endsWith(".sytt")) { - Tasks tt = new Tasks(new File(parms.get("arg"))); + (new LaunchThread(parms.get("arg"))).start(); + } + return new NanoHTTPD.Response(msg); + } + + private class LaunchThread extends Thread { + String arg; + @Override + public void run() { + if (arg.endsWith(".sytt")) { + Tasks tt = new Tasks(new File(arg)); Main.loadFrame(tt); - } else if (parms.get("arg").endsWith(".sypl")) { - Main.loadFrame(new InstallPlugin(new File(parms.get("arg")))); + } else if (arg.endsWith(".sypl")) { + Main.loadFrame(new InstallPlugin(new File(arg))); } else { Editor ed = new Editor(); Main.loadFrame(ed); - ed.openFileFromName(parms.get("arg")); + ed.openFileFromName(arg); } java.awt.EventQueue.invokeLater(new Runnable() { @Override @@ -83,7 +92,10 @@ public class SingleInstanceServer extends NanoHTTPD { } }); } - return new NanoHTTPD.Response(msg); + + public LaunchThread(String a) { + arg = a; + } } }