Unvanquished / Unvanquished

An FPS/RTS hybrid game powered by the Daemon engine (a combination of ioq3 and XreaL)
https://unvanquished.net
Other
993 stars 160 forks source link

Obey XDG conventions regarding file storage path #2395

Open ghost opened 1 year ago

ghost commented 1 year ago

Currently, everything is stored in the same folder, by default in ~/.local/share/unvanquished/. Everything means:

I believe that those 3 elements should be separated, at least config and auth key should go in XDG_CONFIG, to prevent a mass "erase & reinstall" to also delete auth key and configuration. Or, to the contrary, to allow starting with fresh config without needing to download anew all the content

slipher commented 1 year ago

For me it would be really annoying if you had to hunt among multiple noncontiguous directory structures to find all the Unvanquished user data.

On non-Linux platforms there does exist a separation between the stuff installed by the installer, and everything else generated at runtime.

There's a -resetconfig command line option to reset key bindings and cvars.

ghost commented 1 year ago

For me it would be really annoying if you had to hunt among multiple noncontiguous directory structures to find all the Unvanquished user data.

There would be no hunting, since XDG's specs are pretty clear. When I want to give my $HOME a good cleanup, I basically start the cleanup in the XDG_CACHE_HOME (.cache) directory, which as the name makes pretty clear, only contains cached data. Then I usually go in XDG_DATA_HOME and certainly would not expect removing configuration files in there by accident.

But even if keeping things in a single directly, the current situation does include a lot of hunting:

Note that I put quotes around useless, because I know why those files are for: I'm not saying they should not exist.

On non-Linux platforms there does exist a separation between the stuff installed by the installer, and everything else generated at runtime.

This would be a start, and XDG actually addresses this kind of concerns. Except for one thing: unvanquished have the habit to rewrite config files so they should probably be outside of the "generated" data.

There's a -resetconfig command line option to reset key bindings and cvars.

Nice to learn about it. Sadly I'll probably have forgot it when me or another player will need it.