From 4ba897660b942681f266f9caf8db3feea95dac95 Mon Sep 17 00:00:00 2001 From: catsout <36527596+catsout@users.noreply.github.com> Date: Tue, 5 Oct 2021 19:57:21 +0800 Subject: [PATCH] Support XDG_Base_Directory environment variable (#1085) --- HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java index 8d91cfcea..31bb60183 100644 --- a/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java +++ b/HMCL/src/main/java/org/jackhuang/hmcl/Metadata.java @@ -18,6 +18,7 @@ package org.jackhuang.hmcl; import org.jackhuang.hmcl.util.io.JarUtils; +import org.jackhuang.hmcl.util.StringUtils; import org.jackhuang.hmcl.util.platform.OperatingSystem; import java.nio.file.Path; @@ -52,6 +53,10 @@ public final class Metadata { String home = System.getProperty("user.home", "."); if (OperatingSystem.CURRENT_OS == OperatingSystem.LINUX) { // to fulfill XDG standard. + String xdgCache = System.getenv("XDG_CACHE_HOME"); + if (StringUtils.isNotBlank(xdgCache)) { + return Paths.get(xdgCache, "hmcl"); + } return Paths.get(home, ".cache", "hmcl"); } return OperatingSystem.getWorkingDirectory("hmcl");