From fb1f31ba43d2e4beafc3e38c61dd6fab7442730a Mon Sep 17 00:00:00 2001 From: dginovker Date: Mon, 14 Nov 2022 19:38:02 +0900 Subject: [PATCH] Use on Linux/BSD if it's defined --- signlink/src/main/java/rt4/SignLink.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/signlink/src/main/java/rt4/SignLink.java b/signlink/src/main/java/rt4/SignLink.java index 36f4786..3baf2ef 100644 --- a/signlink/src/main/java/rt4/SignLink.java +++ b/signlink/src/main/java/rt4/SignLink.java @@ -200,7 +200,9 @@ public final class SignLink implements Runnable { // 2009scape-specific behavior if (osName.startsWith("linux")) { File oldCache = new File(homeDir + "/.runite_rs"); - homeDir = homeDir + ".local/share/2009scape/"; + // Use XDG_DATA_HOME if it exists, otherwise default to ~/.local/share + homeDir = System.getenv("XDG_DATA_HOME") != null ? System.getenv("XDG_DATA_HOME") : homeDir + ".local/share"; + homeDir = homeDir + "/2009scape/"; File newCache = new File(homeDir + "cache"); if (oldCache.isDirectory() && !newCache.exists()) { Files.move(oldCache.toPath(), newCache.toPath(), StandardCopyOption.REPLACE_EXISTING); @@ -214,7 +216,9 @@ public final class SignLink implements Runnable { // 2009scape-specific behavior if (osName.startsWith("linux")) { File oldCache = new File(homeDir + "/.runite_rs"); - homeDir = homeDir + ".local/share/2009scape/"; + // Use XDG_DATA_HOME if it exists, otherwise default to ~/.local/share + homeDir = System.getenv("XDG_DATA_HOME") != null ? System.getenv("XDG_DATA_HOME") : homeDir + ".local/share"; + homeDir = homeDir + "/2009scape/"; File newCache = new File(homeDir + "cache"); if (oldCache.isDirectory() && !newCache.exists()) { Files.move(oldCache.toPath(), newCache.toPath(), StandardCopyOption.REPLACE_EXISTING);