layday / instawow

World of Warcraft add-on manager CLI and GUI
GNU General Public License v3.0
161 stars 9 forks source link

`db.sqlite` path is not compliant with the XDG base directory specification #134

Closed seirl closed 1 year ago

seirl commented 1 year ago

Currently it resides in $XDG_CONFIG_DIR, but it contains opaque state that the application can mutate. It should therefore be in $XDG_DATA_HOME or $XDG_STATE_DIR instead. $XDG_CONFIG_DIR is only for configuration files.

layday commented 1 year ago

The logs and plugins folders (both of which are "state") are more problematic than the database, which isn't "configuration" in the strictest sense, but keeping it in $XDG_CONFIG_HOME might be justified as it is typically something you'd wanna make a back-up of. I'm happy with instawow simply not dumping its configuration in $HOME - I'd rather keep the same subdirectory structure across all platforms for simplicity's sake (which extends to providing support to instawow's users) than pursue strict XDG compliance. Separating them now would also be problematic for back-compat. Would consider pulling logs and plugins out if it doesn't complicate things immensely.

layday commented 1 year ago

logs and plugins will be placed under $XDG_STATE_HOME in v3.1.0. Not planning to move the database currently.

layday commented 1 year ago

I'll close this one out for the reasons stated above.