<h3 dir="auto">Problem</h3>
<p dir="auto"><code class="notranslate">rcParams["savefig.directory"]</code> sets the default directory used by the figure-saving dialog.  It is either a fixed firectory (defaulting to $HOME), or, if an empty string, uses the current directory of the process.  After saving a figure, its value gets updated to the directory where <em>that</em> figure was saved (so if it starts at /foo/bar but you interactively select to save a figure as /quux/baz.png, next time you click on the figure-saving icon the dialog will start at /quux)... <em>except</em> if the initial value is the empty string (i.e., the current directory) in which case later dialogs will <em>still</em> start at the current directory.</p>
<p dir="auto">I have indeed set <code class="notranslate">savefig.directory</code> to be empty, as I quite often want to save figures "close" to the script directory; however, if I want e.g. to put multiple figures in the same subdirectory or sibling directory, then I need to interactively do so for each figure, which is a lot of clicking.</p>
<h3 dir="auto">Proposed Solution</h3>
<p dir="auto">Hence, at least for this use case, it would be reasonable to always update <code class="notranslate">savefig.directory</code> after an interactive save, even if its initial value is empty.  I guess this may (like always) break some workflows(?!) -- although that seems slightly unlikely to me --, so we may possibly just put the decision of whether to ever update that rcParam into yet another separate rcParam (<code class="notranslate">savefig.update_directory_after_save</code>)... or we may decide it's not worth that additional complexity unless someone actually complains ;-)</p>
<h3 dir="auto">Additional context and prior art</h3>
<h3 dir="auto">Problem</h3>
<p dir="auto"><code class="notranslate">rcParams["savefig.directory"]</code> sets the default directory used by the figure-saving dialog.  It is either a fixed firectory (defaulting to $HOME), or, if an empty string, uses the current directory of the process.  After saving a figure, its value gets updated to the directory where <em>that</em> figure was saved (so if it starts at /foo/bar but you interactively select to save a figure as /quux/baz.png, next time you click on the figure-saving icon the dialog will start at /quux)... <em>except</em> if the initial value is the empty string (i.e., the current directory) in which case later dialogs will <em>still</em> start at the current directory.</p>
<p dir="auto">I have indeed set <code class="notranslate">savefig.directory</code> to be empty, as I quite often want to save figures "close" to the script directory; however, if I want e.g. to put multiple figures in the same subdirectory or sibling directory, then I need to interactively do so for each figure, which is a lot of clicking.</p>
<h3 dir="auto">Proposed Solution</h3>
<p dir="auto">Hence, at least for this use case, it would be reasonable to always update <code class="notranslate">savefig.directory</code> after an interactive save, even if its initial value is empty.  I guess this may (like always) break some workflows(?!) -- although that seems slightly unlikely to me --, so we may possibly just put the decision of whether to ever update that rcParam into yet another separate rcParam (<code class="notranslate">savefig.update_directory_after_save</code>)... or we may decide it's not worth that additional complexity unless someone actually complains ;-)</p>
<h3 dir="auto">Additional context and prior art</h3>