From b8ee19b3956a43dfad1eaa44fa8e11486d8df0bb Mon Sep 17 00:00:00 2001 From: Sebastian Stenzel Date: Sat, 30 Dec 2017 21:05:01 +0100 Subject: [PATCH] fixing use of desktop features on headless platform --- .../cryptomator/launcher/FileOpenRequestHandler.java | 10 +++++++--- main/pom.xml | 5 +++-- .../org/cryptomator/ui/controllers/MainController.java | 10 +++++++--- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/main/launcher/src/main/java/org/cryptomator/launcher/FileOpenRequestHandler.java b/main/launcher/src/main/java/org/cryptomator/launcher/FileOpenRequestHandler.java index 854876056..8f10c6aa2 100644 --- a/main/launcher/src/main/java/org/cryptomator/launcher/FileOpenRequestHandler.java +++ b/main/launcher/src/main/java/org/cryptomator/launcher/FileOpenRequestHandler.java @@ -24,9 +24,13 @@ class FileOpenRequestHandler { public FileOpenRequestHandler(BlockingQueue fileOpenRequests) { this.fileOpenRequests = fileOpenRequests; - Desktop.getDesktop().setOpenFileHandler(e -> { - e.getFiles().stream().map(File::toPath).forEach(fileOpenRequests::add); - }); + try { + Desktop.getDesktop().setOpenFileHandler(e -> { + e.getFiles().stream().map(File::toPath).forEach(fileOpenRequests::add); + }); + } catch (UnsupportedOperationException e) { + LOG.info("Unable to setOpenFileHandler, probably not supported on this OS."); + } } public void handleLaunchArgs(String[] args) { diff --git a/main/pom.xml b/main/pom.xml index 70c60ffca..3b7e723d9 100644 --- a/main/pom.xml +++ b/main/pom.xml @@ -310,8 +310,9 @@ maven-compiler-plugin 3.7.0 - 1.8 - 1.8 + 9 + 9 + 9 diff --git a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java index 5eabc09e8..dcaa2532d 100644 --- a/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java +++ b/main/ui/src/main/java/org/cryptomator/ui/controllers/MainController.java @@ -128,9 +128,13 @@ public class MainController implements ViewController { EasyBind.subscribe(areAllVaultsLocked, Platform::setImplicitExit); autoUnlocker.unlockAllSilently(); - Desktop.getDesktop().setPreferencesHandler(e -> { - Platform.runLater(this::toggleShowSettings); - }); + try { + Desktop.getDesktop().setPreferencesHandler(e -> { + Platform.runLater(this::toggleShowSettings); + }); + } catch (UnsupportedOperationException e) { + LOG.info("Unable to setPreferencesHandler, probably not supported on this OS."); + } } @FXML