diff --git a/distribution/ReleaseNotes.txt b/distribution/ReleaseNotes.txt index e5818a76b..a0adf78c0 100644 --- a/distribution/ReleaseNotes.txt +++ b/distribution/ReleaseNotes.txt @@ -7,6 +7,7 @@ HEAD, planned as v0.31 - Adds drivers with inverted output - Adds a minified circuit as a new shape for embedded circuits - Allows recovering from oscillations. +- Supports XDG_CONFIG_HOME environment variable v0.30, released on 3. February 2023 - Added a search function diff --git a/src/main/java/de/neemann/digital/gui/SettingsBase.java b/src/main/java/de/neemann/digital/gui/SettingsBase.java index f7a5a73fb..2bcf3b4e9 100644 --- a/src/main/java/de/neemann/digital/gui/SettingsBase.java +++ b/src/main/java/de/neemann/digital/gui/SettingsBase.java @@ -37,7 +37,14 @@ public class SettingsBase implements AttributeListener { protected SettingsBase(List settingsKeys, String name) { this.settingsKeys = settingsKeys; - filename = new File(new File(System.getProperty("user.home")), name); + File defaultSettings = new File(new File(System.getProperty("user.home")), name); + String settingsDir = System.getenv("XDG_CONFIG_HOME"); + + if (defaultSettings.isFile() || settingsDir == null) { + filename = defaultSettings; + } else { + filename = new File(settingsDir, name); + } ElementAttributes attr = null; if (filename.exists()) {