[Geany-Devel] [Geany-devel] Separating session file lists from config (again)

Colomban Wendling lists.ban at xxxxx
Mon Nov 18 14:01:19 UTC 2013


Le 18/11/2013 11:29, Thomas Martitz a écrit :
> Am 18.11.2013 10:12, schrieb Lex Trotman:
>> [...]
>> 
>> 3. initially that directory contains the config file (which is the 
>> existing project file without the session files list) and the
>> session files list file.  Retaining the $project.geany name for the
>> config file or changing it to geany.conf to match the user config
>> were suggested, no conclusion was reached.  Similarly using 
>> $project.session.conf or just session.conf were suggested for the 
>> session file.

I'd prefer keeping things as simple as possible, and I don't see why we
should have project-specific names under the project-specific directory.
 So I vote for <dir>/project.conf and <dir>/session.conf or static names
alike.

>> 4. over time more data can be added to the project directory,
>> possibly becoming pretty much the same as the user config
>> directory.
>> 
>> [...]
>
> The layout would also allow plugins to store project-specific stuff
> plus potentially allow projects to override some $user config (though
> this is not something we have talked about yet).

Yes.  And no, we don't have to talk about future use yet but designing
it to support those without needing a second rewrite is a good thing we
all agreed on (I think) :)

>> 1. Project and user session file formats should match to allow the 
>> same code to store both.  The fact that the storing the current 
>> project in the project session file is not needed doesn't matter.

It looks like a good idea, I agree, but we need to keep on allowing to
save user-wide settings when a project is open.  I mean, we shouldn't
save all settings changes to the project settings just because one is
open, the user might want to change a general setting.

I think this was discussed one day already, and I think it should be a
separate thread.

>> 2. For user config, keeping the same name for geany.conf is ok
>> since a new geany can simply ignore session info in the geany.conf
>> file if the session.conf is present.  Accidently overwriting
>> geany.conf with an old version won't damage anything but won't
>> update session.conf.

Agreed.

>> 3. For project config the new version should use names that don't 
>> match existing project file names since the new config is a
>> directory and an old geany trying to read it would get very
>> confused.  An old geany may also overwrite the directory with a
>> file if its the same name.  Also I see no point in including the
>> project name on the config and session files inside the project
>> config directory, its just more filepath manipulation needed for no
>> gain, use the fixed names project.conf and session.conf.  The
>> project config file should not be geany.conf as it is currently not
>> the same format.
>> 
> 
> 
> Old Geany couldn't read it since it's a directory, and I don't think
> you can possibly overwrite a directory with a file, even
> accidentally. You'd need to delete the directory first.

I agree, I don't think this should be an issue.  Older Geany would not
be able to load the project, but that should be all.  And if the config
part starts with the same format as old $project.geany, a user could
workaround that by loading $project.geany/project.conf manually.

> But it may be confusing to the users, indeed.

Well, I don't think it's more confusing that having the name change, and
it would keep on working exactly the same: `geany $project.geany`


Regards,
Colomban


More information about the Devel mailing list