Le 18/11/2013 11:29, Thomas Martitz a écrit :
Am 18.11.2013 10:12, schrieb Lex Trotman:
[...]
- 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.
- 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) :)
- 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.
- 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.
- 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