public synchronized void handleOpenFile(com.apple.eawt.ApplicationEvent ev) { Application.debug("handleOpenFile event, filename: " + ev.getFilename()); // open file String fileName = ev.getFilename(); if (fileName != null) { File openFile = new File(fileName); if (openFile.exists()) { // get application instance GeoGebraFrame ggb = getGGBInstance(); Application app = ggb.getApplication(); // open file File[] files = {openFile}; boolean openInThisWindow = app.getCurrentFile() == null; app.getGuiManager().doOpenFiles(files, openInThisWindow); // make sure window is visible if (openInThisWindow) ggb.setVisible(true); } } }