From abd30c397dee79cc5aa5f19e3483de5904ef5352 Mon Sep 17 00:00:00 2001 From: huanghongxun Date: Sun, 22 May 2022 15:40:47 +0800 Subject: [PATCH] fix(ui): support reveal file in finder, or just open parent directory in Linux. Closes #1458. --- .../src/main/java/org/jackhuang/hmcl/ui/FXUtils.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java b/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java index 68a1eeeb1..2610c91d3 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/ui/FXUtils.java @@ -390,11 +390,19 @@ public final class FXUtils { try { Runtime.getRuntime().exec(new String[]{"explorer.exe", "/select,", file.toAbsolutePath().toString()}); } catch (IOException e) { - Logging.LOG.log(Level.SEVERE, "Unable to open " + file + " by executing explorer /select", e); + Logging.LOG.log(Level.SEVERE, "Unable to open " + file + " by executing explorer /select," + file, e); + } + break; + case OSX: + try { + Runtime.getRuntime().exec(new String[]{"/usr/bin/open", "-R", file.toAbsolutePath().toString()}); + } catch (IOException e) { + Logging.LOG.log(Level.SEVERE, "Unable to open " + file + " by executing /usr/bin/open -R " + file, e); } break; default: - // Currently unsupported. + // We do not have an universal method to show file in file manager. + openFolder(file.getParent().toFile()); break; } }