kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #14524
Re: Fwd: Re: Config file relocation
On 8/31/2014 8:35 PM, Moses McKnight wrote:
> On 08/31/2014 11:07 AM, jp charras wrote:
>> Le 31/08/2014 13:59, Moses McKnight a écrit :
>>> -------- Original Message --------
>>> Subject: Re: [Kicad-developers] Config file relocation
>>> Date: Sun, 31 Aug 2014 06:58:31 -0500
>>> From: Moses McKnight <moses@xxxxxxxxxxx>
>>> To: Lorenzo Marcantonio <l.marcantonio@xxxxxxxxxxxx>
>>>
>>> On 08/31/2014 03:27 AM, Lorenzo Marcantonio wrote:
>>>> On Sat, Aug 30, 2014 at 07:56:16PM -0500, Moses McKnight wrote:
>>>>> Hi,
>>>>>
>>>>> I would like to move the kicad config files in linux to a more
>>>>> "proper"
>>>>> location as defined by the FreeDesktop specification here:
>>>>> http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
>>>>>
>>>>> Specifically this would put the files in $HOME/.config/kicad.
>>>>
>>>> Yay for not putting junk in the home :D having here the fp-lib-table is
>>>> really ugly. I don't care if it's .config/kicad or .kicad (I don't
>>>> really like many of the freedesktop standard) but having all the stuff
>>>> in one place is really better.
>>>>
>>>>> At first I thought I could just change bin_mod.cpp, but figured out
>>>>> that
>>>>> there were three other places that would need changing as well to
>>>>> catch
>>>>> everything. So I made a new function in common.h/.cpp called
>>>>> GetNewConfig(...) and changed the four other files to call that
>>>>> instead of
>>>>> creating a wxConfig() object.
>>>>
>>>> Be warned: IIRC there were also serious issues on windows since the
>>>> config classes in wx are tied to the registry or something like that (I
>>>> tried to do that in the past, it didn't go well :D); careful
>>>> checking is
>>>> needed.
>>>>
>>>
>>> As I mentioned, I didn't change how it is done in Windows, so the
>>> configs are still in the registry there. If desired it would be trivial
>>> to put them in config files in %APPADATA%\kicad as well. wxConfig by
>>> default uses the registry in Windows, but that can be changed easily.
>>
>> I tested it on Linux and On Windows.
>> It works fine.
>>
>> If nobody complains, I'll commit you patch soon.
>>
>> Thanks.
>
> Do you think it would be good to make it automatically move the old
> files to the new location, or just inform the users of the need to do
> that if they don't want to re-enter their settings? The file names in
> ~/.config/kicad will not have the dot in front, so instead of
> ".eeschema" it will be simply "eeschema". If it would be better to
> still have them be dot files, I can change that. This would make it so
> the old config files could simply be moved and not have to be re-named -
> if it is done manually.
>
> Also, should the global fp-lib-table be moved as well? I did not look
> at that one.
>
> Thanks,
> Moses
>
Moses,
I don't think it's necessary to copy the old files. Most of the
configuration set up is fairly trivial. If you've been using KiCad for
any length of time, there probably is a lot of cruft in the config files
that is no longer used. If we are going to make this change, I
recommend moving fp-lib-table there as well. Splitting up the KiCad
configuration files in multiple places will only confuse users. I also
recommend migrating windows over to config files instead of using the
registry. The global fp-lib-table file is alread in the %APPDATA%/kicad
folder on windows. I'm sure there will be some grumbling but it's much
easier for developers have someone send a config file than digging
around the windows registry.
Wayne
Follow ups
References