Skip to content

Conversation

@ServiusHack
Copy link
Owner

The application's configuration is stored using ApplicationProperties which doesn't consider the XDG Base Directory Specification. There is File::userApplicationDataDirectory but it also doesn't respect it according to an upstream bug report.

Supporting the full specification is more effort but just supporting XDG_CONFIG_HOME already addresses the common issue of the home directory being spammed with configuration files. So just read that environment variable or use its default to set the folderName, with an appended application name since the specification suggests to also use a subfolder.

This is a breaking change for Linux users but since none are known at the time it seems acceptable to just switch instead of supporting some form of migration. It's also mentioned in the change log.

The application's configuration is stored using `ApplicationProperties`
which doesn't consider the *XDG Base Directory Specification*. There is
`File::userApplicationDataDirectory` but it also doesn't respect it
according to an upstream [bug report].

Supporting the full specification is more effort but just supporting
`XDG_CONFIG_HOME` already addresses the common issue of the home
directory being spammed with configuration files. So just read that
environment variable or use its default to set the `folderName`, with an
appended application name since the specification suggests to also use
a subfolder.

This is a breaking change for Linux users but since none are known at
the time it seems acceptable to just switch instead of supporting some
form of migration. It's also mentioned in the change log.

[bug report]: juce-framework/JUCE#1184
@ServiusHack ServiusHack merged commit f65bb2d into main Nov 14, 2025
4 checks passed
@ServiusHack ServiusHack deleted the xdg_config_home branch November 14, 2025 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants