FreaKzero / ssgl-doom-launcher

Super Shotgun Launcher - Modern Doom Frontend/Mod Launcher for every Desktop Operating System
115 stars 17 forks source link

Configuration is split across multiple folders in $HOME #80

Closed scar45 closed 4 years ago

scar45 commented 4 years ago

OS: Linux

After finally getting a chance to test a clean build from the latest branch today, it appears that the setting configuration files for SSGL are kept in two folders. When running SSGL for the first time, it creates a ~/.config/Electron folder, which contains the following files:

~/.config/Electron (76KB)
└─── $ lsa -w 1

blob_storage
Cache
'Code Cache'
Cookies
Cookies-journal
Dictionaries
GPUCache
'Local Storage'
'Network Persistent State'
'Session Storage'
settings.json
sourceports.json

The last two files, settings.json + sourceports.json are definitely SSGL configs. Perhaps the ~/.config/Electron folder could instead be called ~/.config/ssgl-doom-launcher? This would keep the users default appdata folder clean and reduce conflicts as it appears Electron/ could be a default that hasn't been changed yet (and thus, other Electron apps may use it as well).

Regarding the title of my issue, I thought the answer would be to set SSGL DATA DIRECTORY in the settings UI to be ~/.config/ssgl-doom-launcher, but it only saves custom configs (and savegames) if you choose to enable that per sourceport. Therefore you have some main configs left in ~/.config/Electron and the per-sourceport configs in ~/.config/ssgl-doom-launcher. I am not sure if this is limited to Linux only.

It would be great to have the app start with ~/.config/ssgl-doom-launcher as the default main configuration folder, with SSGL DATA DIRECTORY defaulted to ~/.config/ssgl-doom-launcher/data (or similar).

If the user does not choose to set a custom config and/or savepath for a sourceport, then it would default to something like ~/.config/ssgl-doom-launcher/data/{{SOURCEPORTNAME}}/{{WAD}}/ (etc.). Basically if all configs are (by default) kept within ~/.config/ssgl-doom-launcher, it will be easy for the user to backup that folder for safety and/or synchronize it with other devices.

Hopefully I am making sense but wanted to take note of this initial run test and offer this suggestion.

FreaKzero commented 4 years ago

As discussed closing this. I have redone the First Setup Experience now also

Maybe in the future sourceports.json and packages.json will be saved in the ssgl-data directory but "settings.json" will always be in the Applicationhome diirectory