<p></p>
<blockquote>
<p><a class="user-mention" data-hovercard-type="user" data-hovercard-url="/users/kugel-/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kugel-">@kugel-</a> agree its useful (see <a href="https://github.com/geany/geany/issues/1763#issuecomment-364107685" data-hovercard-type="issue" data-hovercard-url="/geany/geany/issues/1763/hovercard">#1763 (comment)</a>) but its not backward compatible, an old geany would not find the session file, we often get situations where users have differing versions of Geany that are sharing files (two machines with different distros for eg). So a setting is needed (despite how common it is, me saying "needs a setting" isn't automatic, I do actually think about it :-).</p>
</blockquote>
<p>This is not a supported use case as of today. geany.conf is really only usable by one Geany instance <em>even on the same machine</em>. Actually this PR is about to support to share geany.conf between machines which is not a thing right now.</p>
<p>Please don't make up use cases that aren't actually properly supported right now to raise the bar for PRs like this.</p>
<p>Anyway, I maintain that this change is backwards compatible. Newer Geany converts <em>its</em> session to the new file, hypothetical older Geany keep reading and writing the session files from geany.conf (the session file list isn't yet cleared from geany.conf).</p>
<blockquote>
<blockquote>
<p>What's missing is the same treatment for projects. I think open project files can also be saved in session.conf, with the project name as the key (or some other unique identifier). The project files can then be checked into VCS, and the corresponding "open project files" list does not clutter the checkouts.</p>
</blockquote>
<p>Its necessary to have the whole config directory inside the VCS tree, not just <code>geany.conf</code>, because its only possible to specify the whole config (with -c) not <code>geany.conf</code> by itself, and that then lets the OP change and share <em>all</em> settings including keybindings and those in filetypes and geany.css and tags for libraries they use etc, on a per repo (ie per project) basis, and they then have no need for Geany projects which have only a few settings and the session so its outside this use-case.</p>
</blockquote>
<p>I'm confused. For the "dotfiles" use-case, sure, geany.conf alone is not enough. But this PR helps to not clutter the "dotfiles" repo with machine-specific paths from the session files.</p>
<p>For projects, only the project.geany should be needed in VCS of that project. And it makes sense to have it since there are some settings in project.geany that override geany.conf and a corresponding open files list (which is not stored in the VCS).</p>
<blockquote>
<p>But it raises the point that the open project is saved to <code>geany.conf</code> that probably needs to move into the session too.</p>
</blockquote>
<p>Good point, I agree. I think that implies the whole "recent projects" list. And I guess over time we will find more stuff that's better placed in the session.conf</p>
<blockquote>
<p>If they did want to change projects even if its outside their use-case there doesn't seem any reason not to split into <code>project_name.geany</code> and <code>project_name.geany.session</code> next to each other in the same directory, <code>.gitignore</code> could be taught to ignore it and it works for projects stored outside the tree too. Not sure if that would break the project plugins though?</p>
</blockquote>
<p>IMO geany should not junk files into a project, other than project.geany which is explicitly asked for. If I want to cleanup geany state files I think only of $HOME/.config/geany, I wouldn't go and search my whole computer for project session files. Therefore I stand by my opinion that project open file lists must be stored in $HOME/.config/geany once they move out of the project 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/pull/2776#issuecomment-813337119">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAIOWJ56OGSK77JYOLFUDK3THGJPXANCNFSM42KJV3OQ">unsubscribe</a>.<img src="https://github.com/notifications/beacon/AAIOWJ54F5EK53QK7DRQKPTTHGJPXA5CNFSM42KJV3O2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOGB5IUHY.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/pull/2776#issuecomment-813337119",
"url": "https://github.com/geany/geany/pull/2776#issuecomment-813337119",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>