Open suve opened 3 years ago
Hi @suve, are there examples of existing applications doing this?
While I admit I failed to find FLOSS, there's quite a few proprietary programs doing this, e.g.:
~/.config/JetBrains/CLion2020.2
.~/.config/Microsoft/Microsoft Teams
.~/.local/share/Aspyr/Sid Meier's Civilisation 5
~/.local/share/feral-interactive/XCOM
Oh, right. How could I forget. The SDL_GetPrefPath()
function in the SDL 2.x library does this, so most games based on SDL2 inherit this behaviour. (Source code)
@suve To be honest, these examples all look like terrible porting jobs (i. e. simply copying Microsoft conventions to a platform that isn't Windows) – exactly the outcomes this library is intended to prevent.
Do you discourage generically-named applications (example bundle ID: com.example.contacts
) or is there a recommended approach to avoid collisions on Linux with other similarly-named applications (e.g., always attempt to create a unique sub-directory to namespace the app's config/data)?
If there were wider ecosystem consensus, this is something to consider integrating in some way, but this library is intended to support existing conventions, not invent its own.
Currently, on Linux, the organisation name is ignored, and e.g.
ProjectDirs::config_dir()
will return simply~/.config/appname
. This may be enough for applications with some very unique names, but when using some more generic words, can lead to conflicts.I'd like a way to force the lib to use the organisation name on Linux, so I'd get e.g
~/.config/suve/appname
instead of just~/.config/appname
.