<br><br><div class="gmail_quote">On 11 October 2012 06:06, Dimitar Zhekov <span dir="ltr"><<a href="mailto:dimitar.zhekov@gmail.com" target="_blank">dimitar.zhekov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Wed, 10 Oct 2012 10:07:19 +1100<br>
Lex Trotman <<a href="mailto:elextr@gmail.com">elextr@gmail.com</a>> wrote:<br>
<br>
> On 10 October 2012 06:58, Dimitar Zhekov <<a href="mailto:dimitar.zhekov@gmail.com">dimitar.zhekov@gmail.com</a>> wrote:<br>
><br>
</div><div class="im">> > a project-less<br>
> > build -> set build commands -> ok saves the changes under filedefs/<br>
> > immediately ("save filetypes now" in the mailing list). Just fill some<br>
> > commands, OK, and grep ~/.config/geany.<br>
> ><br>
><br>
> It doesn't save the config file though, so no non-filetype settings saved.<br>
<br>
</div>Yes. Curiosly enough, these are "ui prefs"...<br></blockquote><div><br></div><div>Eh? not sure I understand you?  In case I wasn't clear if in the build->set build commands dialog you modify the make command to say fred, click ok, cat geany.conf it isn't stored, close Geany, cat again and it is stored.  That is it is not saved on ok.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
> > Save on Quit is needed for the interface preferences, such as View -><br>
> > Show Sidebar, and the project-less file list. Unfortunately, the file<br>
> > list is saved even with a project open, but attempts to fix it trigger<br>
> > a "multiply instances" discussion.<br>
> ><br>
><br>
> Yes, Geany does *not* do multiple instances properly, therefore being<br>
> ignored for now.  If you do multiple instances with the same project or<br>
> config file it will break (ie not do what you wanted), its just a matter of<br>
> when.<br>
<br>
</div>But not saving the file list in geany.conf, if we have a project open<br>
and so the list is already saved in $project.geany, is _not_ actually<br>
related to multiply instances. Maybe I should propose it again, it's<br>
a very simple change.<br></blockquote><div><br></div><div>Unless the project was open in multiple instances, then you can have issues with both geany.conf and project.geany, so no improvement I'm afraid.</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im"><br>
> > The ones from save_ui_prefs(). You can't reasonably expect a file save<br>
> > each time the side bar is shown/hidden, or the main window is<br>
> > moved/sized...<br>
> ><br>
><br>
> 1. why not?<br>
<br>
</div>Why not save the document in a temporary file on each SCN_MODIFIED?<br>
You will never lose a single edit action, and surely a current document<br>
content is no less important than, say, the sidebar state. :)<br></blockquote><div><br></div><div>Ok, but why not save the entire program state after each instruction :-D</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im"><br>
> 2. which is why they should be in the session file not the prefs file,<br>
> also, to me, if I arranged windows to fit what I was looking at, it would<br>
> be good it that was restored with the project session as well.<br>
<br>
</div>Definitely, from using xsm, I know very well how convinient per-project<br>
interface is. But it doesn't really require a session file - we can<br>
store the ui_prefs in our current project file, which is saved on<br>
project close and geany quit.<br></blockquote><div><br></div><div>Agree, though its a separate discussion from this one about separation.  (and much simpler)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
(Now that I think of it, multiply sessions per project do not require a<br>
session file either.)<br></blockquote><div><br></div><div>Agree</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Splitting has it's own merits, of course, and if implemented, the ui<br>
prefs should logically go in the session file.<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote><div><br></div><div>Agree</div><div><br></div><div>So far the only algorithms presented so far are:</div><div><br></div><div>1. sessions in the user directory and identified by UUID in the project file</div>
<div><br></div><div>Pros, </div><div>  retains the session when working tree deleted, </div><div>  minor VCS advantages,  </div><div>  single session even if multiple copies of project</div><div><br></div><div>Cons, </div>
<div>  need to set .ignore, </div><div>  when to delete the session files, </div><div>  single session even if multiple copies of project</div><div><br></div><div>2. Dimitars version of 1. with an extra indirection</div><div>
<br></div><div>Pros, </div><div>  supports multiple sessions per project (though as said above may not be needed to support that)</div><div><br></div><div>Cons, as 1.</div><div><br></div><div>3. put session file in the same directory as geany.conf or project.geany</div>
<div><br></div><div>Pros, </div><div>  simple, </div><div>  deletion of session files explicit, </div><div>  multiple copies of the project can have different sessions</div><div><br></div><div>Cons, </div><div>  loses project session file if the working tree is deleted,</div>
<div>  sessions not shared by all copies of the project</div><div><br></div><div>In general 3. looks like the least worst, any further comments?</div><div><br></div><div>Cheers</div><div>Lex</div><div><br></div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">
--<br>
E-gards: Jimmy<br>
_______________________________________________<br>
Devel mailing list<br>
<a href="mailto:Devel@lists.geany.org">Devel@lists.geany.org</a><br>
<a href="https://lists.geany.org/cgi-bin/mailman/listinfo/devel" target="_blank">https://lists.geany.org/cgi-bin/mailman/listinfo/devel</a><br>
</div></div></blockquote></div><br>