<blockquote>
<p>It is part of this topic because project settings interact with user settings, it cannot be ignored.</p>
</blockquote>

<p>As long as the current functionality is not degraded and continues to be supported, I think it can be treated separately once the core/base settings are all using GSettings.</p>

<blockquote>
<p>how are asynchronous changes handled?</p>
</blockquote>

<p>On a case-by-case basis. In Mousepad, where everything is "properly GObject-ified" I bound lots of stuff together using GObject property binding and GSettings binding, and binding both ways, and this lead to a few racy-like bugs and not helping to reduce settings spaghetti. In this PR for Geany, I try to only for now reproduce the directionality of the settings changes, thinking about which way(s) they should go.</p>

<p>By being careful (as at present) what updates what, we can assure some useful settings transcend instances while others only store to settings and affect new instances. For example I probably don't want a "fullscreen" GSetting to affect all running instances, but I might want it to affect new instances. Conversely, I might want a setting like "editor-font" to affect all running instances (or not). In this PR and related ones, this behaviour is completely open for discussion, since "live updating" of settings was not previously possible.</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/1257#issuecomment-251866813">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ0nNZ8uvrV75lR9PxCRPG74gJyrMks5qxH8MgaJpZM4KPeqz">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ6NJ1wM7awekN20ZB7TpZQWfErvFks5qxH8MgaJpZM4KPeqz.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1257#issuecomment-251866813"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<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 #1257: \u003e It is part of this topic because project settings interact with user settings, it cannot be ignored.\r\n\r\nAs long as the current functionality is not degraded and continues to be supported, I think it can be treated separately once the core/base settings are all using GSettings.\r\n\r\n\u003e how are asynchronous changes handled?\r\n\r\nOn a case-by-case basis. In Mousepad, where everything is \"properly GObject-ified\" I bound lots of stuff together using GObject property binding and GSettings binding, and binding both ways, and this lead to a few racy-like bugs and not helping to reduce settings spaghetti. In this PR for Geany, I try to only for now reproduce the directionality of the settings changes, thinking about which way(s) they should go.\r\n\r\nBy being careful (as at present) what updates what, we can assure some useful settings transcend instances while others only store to settings and affect new instances. For example I probably don't want a \"fullscreen\" GSetting to affect all running instances, but I might want it to affect new instances. Conversely, I might want a setting like \"editor-font\" to affect all running instances (or not). In this PR and related ones, this behaviour is completely open for discussion, since \"live updating\" of settings was not previously possible."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1257#issuecomment-251866813"}}}</script>