Re: [Gimp-developer] XDG support and better Windows configuration path


On Thu, Oct 11, 2012 at 3:50 PM, Michael Natterer <mitch gimp org> wrote:
> On Thu, 2012-10-11 at 13:21 +0900, Jehan Pagès wrote:
>> That leads me to wonder: what do we want to do if the variable is set:
>> 1) We save directly under this path. Hence we never know if a version
>> bump (or downgrade) occurred (hence there can be problems at every
>> change of version for this user's configuration if ever something a
>> little more than copy-paste needed to happen).
>> 2) We now make a subdirectory with the version. Hence $GIMP2_DIRECTORY/x.x/.
>> I would think that we could go with 2). That's a little more work to
>> detect the situation but that's nicer to the users. What do you think?
>> Of course, if you don't want, that's just less work for me, so I am
>> ok. :p
> We can't do that, gimp_directory() returns the folder where
> stuff is stored, and i should stay that way.

I must have badly explained, because that's not what I wanted to tell.
:-) gimp_directory() will still and always return where stuff is
stored. No problem here. Only discussing how to determine this folder
when the env variable is set. Basically there are 2 cases:

(1) No environment var set: gimp_directory() will return {conf-dir}/GIMP/2.10/
where {conf-dir} depends on the platform (XDG_CONFIG_HOME on Linux,
APPDATA on Win and NSApplicationSupportDirectory on OSX basically).
All good.

(2) the env var is set: until now gimp_directory() would return
I propose to return $GIMP2_DIRECTORY/2.10/ instead.
Note that the user is still choosing the root of where GIMP should
store the configuration, and all the rest. Simply we add one level in
the configuration tree. This way, first we make it consistent with the
case (1). Second we can support their configuration migration.

The problem indeed when people set this variable is that when a 2.8
users will use 2.10 for the first time, if he had this variable both
before and now, GIMP will not consider the user's configuration to be
a 2.8. Hence no migration will happen. In most cases, that should be
ok (as the migration is mostly about copy-pasting files and folders).
But if something changed and we want to actually do something other
than copy-pasting, these users will be the only one where the
migration will fail.

I hope this is clear enough this time. But I definitely don't propose
to break the return valye of gimp_directory().


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]