<p></p>
<p dir="auto">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 <em>not</em> redetect filetype on reload because the user <em>might</em> have explicitly changed it.</p>
<ul dir="auto">
<li>MRU – session – not explicitly set by the user</li>
<li>Window position and geometry  – session – not explicitly set by the user</li>
<li>Sidebar/msgwin location – <em>not</em> session – explicitly set by user in preferences.</li>
<li>Sidebar/msgwin position – session – not explicitly set by user.  (The user can change it, but this is an <em>implicit</em> change.  There is no <em>explicit</em> setting in preferences or elsewhere.)</li>
</ul>
<hr>
<p dir="auto"><a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/elextr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/elextr">@elextr</a> 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.)</p>
<p dir="auto">The core of the definition you suggest is:</p>
<blockquote>
<p dir="auto">a setting that an individual user is likely to change, possibly often...</p>
</blockquote>
<p dir="auto">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).</p>
<blockquote>
<p dir="auto">and it doesn't affect the files being edited</p>
</blockquote>
<p dir="auto">That part is arbitrary.  You and other devs have described project files as just "named sessions".  You state that indent settings are <em>not</em> session config, but indent settings are part of project files (indicating that it likely <em>is</em> session config).</p>
<p dir="auto">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.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/issues/3007#issuecomment-976151338">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJYD6WPEJNGB7BO33G3UNMG33ANCNFSM5IFUP5CA">unsubscribe</a>.<br />Triage notifications on the go with GitHub Mobile for <a href="https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675">iOS</a> or <a href="https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub">Android</a>.
<img src="https://github.com/notifications/beacon/AAIOWJ3AUTC2XV7N5EEISWDUNMG33A5CNFSM5IFUP5CKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOHIXOGKQ.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/issues/3007#issuecomment-976151338",
"url": "https://github.com/geany/geany/issues/3007#issuecomment-976151338",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>