<blockquote>
<p>I didnt suggest an asynchronous saving. Just one where the main thread<br>
can keeps responsive instead of freeze (and perhaps offer cancellation<br>
of the saving if it takes too long).</p>
</blockquote>

<p>Problem is that the default, and safest, saving method (using <code>g_file_set_contents()</code>) can't be made asynchronous or cancellable, glib just doesn't offer that.</p>

<blockquote>
<p>I agree that most, if not all, user interaction should be blocked during<br>
save, but that doesn't mean the UI has to freeze up.</p>
</blockquote>

<p>Blocking parts of the UI is possibly lots of work that "somebody" <img class="emoji" title=":tm:" alt=":tm:" src="https://assets-cdn.github.com/images/icons/emoji/unicode/2122.png" height="20" width="20" align="absmiddle"> has to do.  Or we could just pop up a nice modal dialog that says "saving..." with a cancel button (for those save methods that are cancellable).</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br>Reply to this email directly or <a href="https://github.com/geany/geany/issues/828#issuecomment-166772556">view it on GitHub</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJ6RQeAwJLz1cSAsqDU1DpXltuQmQks5pSez9gaJpZM4G3UHR.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/issues/828#issuecomment-166772556"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>