gogui
gogui copied to clipboard
For Windows, store configuration in a file rather than the windows registry?
Nice to see some recent work on GoGui! One other issue I came across as a user - it appears that on windows, information such as the list of attachable programs and related options are stored in the Window Registry. This makes it very hard to edit the configuration by hand (for example to add a large number of new attachable programs, or en-mass change the paths of those programs when rearranging where things are saved on one's hard drive) which right now requires painstakingly doing things one by one in the GoGui UI. It also makes it very hard to save or back-up the configuration, copy it between machines, etc.
It would be great if these were simply stored in a textual config file in AppData (which is the way that perhaps a majority of Windows programs store user configuration options and data) or in the installation directory of the GUI, or some other standard location.
Registry data can be exported and imported, as .reg files in text form IIRC; I don't know how convenient it is in this case though.
Yeah, I know there are other tools one can use to edit the windows registry, but it would be far more convenient if GoGui itself stored user config data in a nicer location, like a plain config file. (Edit: it also took quite a lot of digging to figure out that it was even using the registry as a storage location in the first place, and where in the registry to look, I think the fact that GoGui does this isn't really documented anywhere that I could find).
I don't like storing configuration in the Windows registry either, but it is the behaviour of the standard java.util.prefs.Preferences API used by gogui.
https://docs.oracle.com/javase/7/docs/api/java/util/prefs/Preferences.html
From a quick look at the doc, it does not seem easy to specify a different storage system. But I may be wrong.
Edit: I found this: http://www.davidc.net/programming/java/java-preferences-using-file-backing-store
Closing because it would be too much work, and a long-term waste of energy to go against the default java way of doing this thing.
I am reopening because it is very annoying. Not sure how to do it simply. But parameters, list of programs in particular, should be easily copyable from one machine to another.