diff --git a/pom.xml b/pom.xml
index 4e66590f4..3167116b1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,7 +38,7 @@
1.9.0
1.6.1
1.5.0
- 1.7.0
+ 1.8.0-beta1
6.0.1
3.0.2
1.2.12
diff --git a/src/main/java/org/cryptomator/ui/fxapp/JfxRevealPathService.java b/src/main/java/org/cryptomator/ui/fxapp/JfxRevealPathService.java
index 1271f42e8..5a81f0381 100644
--- a/src/main/java/org/cryptomator/ui/fxapp/JfxRevealPathService.java
+++ b/src/main/java/org/cryptomator/ui/fxapp/JfxRevealPathService.java
@@ -6,6 +6,7 @@ import org.cryptomator.integrations.common.Priority;
import org.cryptomator.integrations.revealpath.RevealFailedException;
import org.cryptomator.integrations.revealpath.RevealPathService;
+import java.nio.file.Files;
import java.nio.file.Path;
/**
@@ -17,14 +18,17 @@ import java.nio.file.Path;
*/
@DisplayName("JavaFX HostServices (GTK)")
@OperatingSystem(OperatingSystem.Value.LINUX)
-@Priority(10)
+@Priority(Priority.FALLBACK)
public class JfxRevealPathService implements RevealPathService {
@Override
public void reveal(Path p) throws RevealFailedException {
+ var absPath = p.toAbsolutePath();
var fxApp = FxApplication.INSTANCE.get();
if (fxApp != null) {
- fxApp.getHostServices().showDocument(p.toUri().toString());
+ // showDocument() launches the default app for a regular file, so reveal its parent directory instead
+ var target = Files.isRegularFile(absPath) ? absPath.getParent() : absPath;
+ fxApp.getHostServices().showDocument(target.toUri().toString());
} else {
throw new RevealFailedException("JavaFX Application not initialized");
}