[Geany-devel] patch: separated session/local config

Lex Trotman elextr at xxxxx
Thu Aug 2 00:57:22 UTC 2012


[...]
> However, maybe splitting "session" things out might help towards a
> better support for saving multiple instance configurations, and if we
> see that such changes would help on that subject too, the noise might be
> worth.  Dimitar, Eugene, Nick, Matthew, Lex..., thoughts?

Hi Colomban,

A few random thoughts in no particular order:

1. Committing the project files can be useful since they contain build
commands, indent settings and other stuff that is useful to share.
User config files I am less convinced about in this use case.  The OP
could probably get most of what he wants by using a project file in
git with "save sessions in project files" off.  An improvement would
be to have  that setting also be in the project file so each project
remembers what was set last time.

2. If the session is removed from the project file then where to store
it?  I would vote for a subdir of the user config dir perhaps with a
(user settable) limit on how many.  That way each user remembers which
files they had open in that project.

3. Multiple instances would not benefit from having user session info
saved separately unless we also switched to saving the remaining
config immediately it was changed, not at shutdown.  Then there would
not be any race for the config file at shutdown.  Without session
management, multiple instances of course don't save their sessions,
since they have no way of finding them again.  Although this doesn't
address accessing the same file from multiple instances it is a step
in the right direction to making multiple instances safer but saving
config immediately is a significant change (I think).

4. I have completely ignored session management since I am back on a
DE where it doesn't work :)  That is the problem with session
management, it only works on some DEs and how well it works varies.
So I think we should keep Dimitars patch available for as long as he
cares to maintain it so individual users can add it if they want, but
the variability makes it inappropriate to commit to Geany.  Perhaps a
link from the wiki to the patch tracker would be useful?

To summarise (in roughly increasing order of difficulty):

a. the OP use project files with sessions off
b. the sessions off setting duplicated in the project files
c. sessions removed from project files
d. User config files saved on change and sessions saved on shutdown by
non -i instances.
e. Session management nirvana (unlikely :)

Cheers
Lex

>
>> diff/patch is against
>> commit 1ce4b1fac516f89dadb639cb773c76b68cfa286b
>>
>> I'd like to ask for a review of the patch?
>
> Apart what I said above, the patch looks very clean but:
>
>  * we use tabs for indent (width set to 4), not 2 spaces
>  * as said above, you need to add backward compatibility code, to load
> the prefs to the old file as a fallback.
>
>
> Best regards,
> Colomban
> _______________________________________________
> Geany-devel mailing list
> Geany-devel at uvena.de
> https://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel



More information about the Devel mailing list