A better rule of thumb for session variables would be anything the user does not or cannot set explicitly. Or put another way, Geany should avoid resetting/undoing what the user has explicitly set. If there is a setting in the preferences dialog, or elsewhere, it should not be a session config. This has precedence, for instance, with the filetype auto-detection. Geany does not redetect filetype on reload because the user might have explicitly changed it.


@elextr Your definition is overly inclusive. Only a handful of settings don't fit your criteria as session variables. You essentially confirm this when you stated, "I have defaulted to yes if I'm unsure". (You give a different reason for that default, but using an unsuitable definition of "session" would contribute that that problem.)

The core of the definition you suggest is:

a setting that an individual user is likely to change, possibly often...

That would be detected by running diff on sequential config files (as I suggested). Although I did not mention collecting samples from multiple users, I pretty much took it as a given since it is a common, well-known approach to avoid over-specificity. Configs that change more frequently across a greater number of users are better candidates than configs that do or don't change for only one (or a few).

and it doesn't affect the files being edited

That part is arbitrary. You and other devs have described project files as just "named sessions". You state that indent settings are not session config, but indent settings are part of project files (indicating that it likely is session config).

There are only a handful of settings that affect the edited file. Default encoding, line endings. The vast majority of other settings affect the editing environment (eg, GUI), but not the edited files.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.