-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Remove transient status info from config file #2193
Description
The current usage of the keepassxc.ini file mixes to different purposes and makes system setup very difficult for people like me that want to do fancy things like keep their configurations in sync across multiple computers. Computer Ⓐ has different monitor configurations than computer Ⓑ, and the state information kept in the ini file makes it impossible to automatically sync config files.
In my case I keep all my dot-files in a git repository. I can manually handle this case by only updating the files with manual selective patches and ignoring the lines that contain state data, but the process requires constant manual intervention.
A simple fix would be to remove all the state data from the config. The config file should just have the user preferences: the values they setup off in the settings dialogue. This would allow it to be synced between computers and/or kept in revision control without introducing noise and constant merge conflicts. A separate file may contain state data, and this file would not need to be synced between hosts.
This might not be exhausting, but values to remove from the main ini file include:
[General]
LastChallengeResponse=
LastKeyFiles=
LastOpenedDatabases=
LastDatabases=
LastDir=
LastKeyFiles=
[GUI]
AutoTypeSelectDialogSize=
DetailSplitterState=
EntryListColumnSizes=
EntrySearchColumnSizes=
ListViewState=
MainWindowGeometry=
SearchViewState=
SplitterState=All of these state variables should simply not be in the main config file and move to a separate file that just tracks such last used states.