[Geany-devel] Multiple instances of Geany issues

Eugene Arshinov earshinov at xxxxx
Fri Jun 4 18:16:20 UTC 2010


Sorry, forgot to answer this in the afternoon.

On Thu, 3 Jun 2010
16:11:03 +1000% Lex Trotman <elextr at gmail.com> wrote:

> On 3 June 2010 01:08, Eugene Arshinov <earshinov at gmail.com> wrote:
> > On Wed, 2 Jun 2010 18:10:26 +1000%
> > Lex Trotman <elextr at gmail.com> wrote:
> >
> >> On 2 June 2010 17:19, Eugene Arshinov <earshinov at gmail.com> wrote:
> >> >
> >> > The second half of 6 ("last main instance opening project wins")
> >> > seems somewhat strange to me:
> >> > * Shouldn't it also hold for secondary instances?  I think we
> >> > shouldn't differentiate the behaviour of main and secondary
> >> > instances in respect to handling of project files.
> >> > * I'd prefer "last closing wins", not "last opening wins" (the
> >> > way we usually implement things, isn't it?).
> >>
> >> Sorry if I wasn't clear enough, I was talking about Geany saving
> >> the current file list in the *config* file when a project is
> >> opened, not about the project file, when another instance closes
> >> its project, it restores the file list saved in the config by the
> >> instance that last *opened* a project.
> >
> > Thanks, now it's more clear, but I'm still confused.  Could you
> > further explain the last phrase "when another instance closes its
> > project, it restores the file list saved in the config by the
> > instance that last *opened* a project"?  Why do we need such
> > complexity (we must know whether the instance which was the last to
> > write the file list to the config opened the project before or
> > after us…)?  Why can't we let the last instance overwrite the file
> > list completely?
> 
> This isn't added complexity, its just how it works now, if sm changes
> that then I didn't notice, sorry.
> 
> Let me give example sequences:
> 
> How it works with a single instance:
> 
> open Geany, open several files, open project, Geany saves the list of
> several files in Geany.conf and opens the project file list, close
> project (which can be after several opens and closes of Geany) saves
> list of open files in project file and close them and then open the
> files listed in Geany.conf Perfect!!
> 
> How it works with several instances (numbered):
> 
> open Geany1, open several files1, open project1 Geany1 saves list of
> files1 in Geany.conf and opens the project1 file list, open
> --new-instance Geany2, open some files2, open project2, Geany2 saves
> the file list2 in Geany.conf overwriting file list1, close project1,
> Geany 1 saves project1 file list and opens file list2!!! it reads from
> Geany.conf, confused grumpy user :(

Thanks for explanation.

> 
> or if --new-instance versions are not allowed to save file list, how
> do they restore the open files when the project is closed?
> 
> >
> >>
> >> By limiting save it to the main instances I was
> >> hoping to reduce the surprise somewhat, but a better answer would
> >> be welcome.
> >>
> >
> > Well, in SM the file list and the recent project in the config are
> > indeed saved only by main instances.  Secondary instances are not
> > allowed to touch them (being more concrete, in SM --new-instance
> > implies --no-session).
> 
> Which raises the second problem noted above.
> 
> I don't claim to have a good solution for this one, I just want to get
> the solution with most user utility and least user surprise.
> 

We may store files that were opened before the project internally
and properly restore them after the project is closed.  It's a simple
idea, but it may be difficult to implement because practically we'll
have to maintain internally two projects: "default project" and opened
"real project" (if any).

Also, this will introduce a new challenge for Geany's session
management and SM: whether we need to save also "default project" if
"real project" was opened when Geany exited? 

Best regards,
Eugene.



More information about the Devel mailing list