diff --git a/samurai-swing/src/main/java/one/cafebabe/samurai/swing/MainFrame.java b/samurai-swing/src/main/java/one/cafebabe/samurai/swing/MainFrame.java index 63545eb..523ebe7 100755 --- a/samurai-swing/src/main/java/one/cafebabe/samurai/swing/MainFrame.java +++ b/samurai-swing/src/main/java/one/cafebabe/samurai/swing/MainFrame.java @@ -132,6 +132,10 @@ private void setOrientation(TileTabLayout orientation) { } public MainFrame() { + this(null); + } + + public MainFrame(String[] args) { super(resources.getMessage("MainFrame.title")); this.enableEvents(AWTEvent.WINDOW_EVENT_MASK); this.getContentPane().setLayout(new BorderLayout()); @@ -270,6 +274,12 @@ public void drop(DropTargetDropEvent drop) { DnDConstants.ACTION_REFERENCE, tabDropTargetListener ); + for (int i = 0; i < args.length; i++) { + String path = args[i]; + System.out.println("file: "+path); + File file = new File(path); + fileHistory.open(file); + } setDragNotAccepting(); } diff --git a/samurai-swing/src/main/java/one/cafebabe/samurai/swing/Samurai.java b/samurai-swing/src/main/java/one/cafebabe/samurai/swing/Samurai.java index 459e7b4..df9a403 100755 --- a/samurai-swing/src/main/java/one/cafebabe/samurai/swing/Samurai.java +++ b/samurai-swing/src/main/java/one/cafebabe/samurai/swing/Samurai.java @@ -27,7 +27,7 @@ import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; - +import java.util.Arrays; public class Samurai { private static final Logger logger = LogManager.getLogger(); @@ -65,6 +65,9 @@ public static void main(String[] args) { } command.add("one.cafebabe.samurai.swing.Samurai"); command.add("nested-launch"); + for (int i = 0; i < args.length; i++) { + command.add(args[i]); + } System.out.println("relaunching samurai with the following command:"); System.out.println(String.join(" ", command)); @@ -95,7 +98,10 @@ public static void main(String[] args) { } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { logger.warn("failed to setLookAndFeel", e); } - javax.swing.JFrame frame = new MainFrame(); + String[] finalArgs = new String[0]; + if (args.length > 1) + finalArgs = Arrays.copyOfRange(args, 1, args.length); + javax.swing.JFrame frame = new MainFrame(finalArgs); frame.validate(); frame.setVisible(true); });