<blockquote>
<p>We should simply support session managers</p>
</blockquote>
<p>We kind of do, we handle <code>SIGTERM</code> and shutdown cleanly when received. In the usual case, the 10 seconds or whatever that <code>shutdown</code> gives, should be enough time to save everything and finish closing. I think on modern systemd systems, it additionally sends <code>SIGHUP</code> and gives 90 seconds by default[citation needed], which would should be lots of time for network shares and such, even with a slow link. If this code isn't working, we should probably fix that first.</p>
<blockquote>
<p>It's GTK3-only isn't it?</p>
</blockquote>
<p>AFAIK it is.</p>
<blockquote>
<p>GTK3 only is fine IMO.</p>
</blockquote>
<p>It is not. GTK+2 is still the runtime used for Windows, Macos, and by default for the source release. Given that it would probably require fairly invasive changes to some of the code, I don't think it would be the kind of thing we want to guard-out using <code>#ifdef</code> stuff all over the place for GTK+2. I could be wrong though, maybe it would be simple enough to abstract it out with a our own GeanyApplication class that can adapt to the GTK+ version.</p>
<blockquote>
<p>Does it support multiple instances? I think it doesn't, at least not by default</p>
</blockquote>
<p>If you mean independent processes, you could probably get it to do that, but I believe the main operating mode is that it supports multiple main/top-level windows, which in well encapsulated code bases is effectively the same thing (minus the process isolation).</p>
<p>People might also get annoyed by adding a dependency on DBUS, and AFAIK it isn't well supported and is effectively disabled for GtkApplication for Windows.</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/1860#issuecomment-391563442">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ9vcZF7qt9BGtJJXHJ40iY2V8Qeyks5t1hSogaJpZM4UKt8l">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJyAisNmIRRcEX0r8TGHn3KXJQEMUks5t1hSogaJpZM4UKt8l.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/1860#issuecomment-391563442","url":"https://github.com/geany/geany/pull/1860#issuecomment-391563442","name":"View Pull Request"},"description":"View this Pull Request on GitHub","publisher":{"@type":"Organization","name":"GitHub","url":"https://github.com"}}</script>
<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@codebrainz in #1860: \u003e We should simply support session managers\r\n\r\nWe kind of do, we handle `SIGTERM` and shutdown cleanly when received. In the usual case, the 10 seconds or whatever that `shutdown` gives, should be enough time to save everything and finish closing. I think on modern systemd systems, it additionally sends `SIGHUP` and gives 90 seconds by default[citation needed], which would should be lots of time for network shares and such, even with a slow link. If this code isn't working, we should probably fix that first.\r\n\r\n\u003e It's GTK3-only isn't it?\r\n\r\nAFAIK it is.\r\n\r\n\u003e GTK3 only is fine IMO.\r\n\r\nIt is not. GTK+2 is still the runtime used for Windows, Macos, and by default for the source release. Given that it would probably require fairly invasive changes to some of the code, I don't think it would be the kind of thing we want to guard-out using `#ifdef` stuff all over the place for GTK+2. I could be wrong though, maybe it would be simple enough to abstract it out with a our own GeanyApplication class that can adapt to the GTK+ version.\r\n\r\n\u003e Does it support multiple instances? I think it doesn't, at least not by default\r\n\r\nIf you mean independent processes, you could probably get it to do that, but I believe the main operating mode is that it supports multiple main/top-level windows, which in well encapsulated code bases is effectively the same thing (minus the process isolation).\r\n\r\nPeople might also get annoyed by adding a dependency on DBUS, and AFAIK it isn't well supported and is effectively disabled for GtkApplication for Windows."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1860#issuecomment-391563442"}}}</script>
<script type="application/ld+json">{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "37567f93-e2a7-4e2a-ad37-a9160fc62647",
"title": "Re: [geany/geany] Save project on file open/close (#1860)",
"sections": [
{
"text": "",
"activityTitle": "**Matthew Brush**",
"activityImage": "https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png",
"activitySubtitle": "@codebrainz",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"geany/geany\",\n\"issueId\": 1860,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"PullRequestClose\",\n\"repositoryFullName\": \"geany/geany\",\n\"pullRequestId\": 1860\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/geany/geany/pull/1860#issuecomment-391563442"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 338353957\n}"
}
],
"themeColor": "26292E"
}</script>