package ij.macro;
import ij.IJ;
import ij.plugin.MacroInstaller;
import ij.plugin.Startup;

/** Runs the RunAtStartup (created by Edit/Options/Startup) and AutoRun (in StartupMacros) macros. */
public class StartupRunner implements Runnable {

	/** Runs the RunAtStartup and AutoRun macros, on the current thread
		if 'batchMode' true, otherwise on a separate thread. */
	public void run(boolean batchMode) {
		if (IJ.debugMode) IJ.log("StartupRunner: "+batchMode);
		if (batchMode)
			run();
		else {
			Thread thread = new Thread(this, "StartupRunner");
			thread.start();
		}
	}

	public void run() {
 		String macro = (new Startup()).getStartupMacro();
 		if (macro!=null && macro.length()>4) {
 			if (macro.contains("setForegroundColor"))
 				IJ.wait(100);
 			IJ.runMacro(macro);
 		}
		MacroInstaller.autoRun();
 	}
 	
}

