[Geany-devel] Proposed patch to fix issues with command line file loading
dimitar.zhekov at xxxxx
Thu Jan 27 19:09:32 UTC 2011
On Thu, 27 Jan 2011 10:20:26 +0100
weltall <weltall2 at gmail.com> wrote:
> I've noticed various issues with file loading from command line:
> 1) if the option load last session is not enabled project files can't be
> opened from command line: this happens because the code to handle them
> is wrapped in a prefs.load_lastsession if so the only way to load them
> from command line is having that option true.
Certainly a bug.
> 2) trying to open a file (eg from double clicking in nautilus) will
> screw your session as command line loading of single files ignores your
> session opened files, except if geany was already opened.
SciTE will do the same, and so will UltraEdit (the very old versions I
used). If you want a permanent session, create a project.
> So to fix those issues I've reorganized the code in the
> load_startup_file function in order to:
> 1) load the project files ignoring the session if a project file was
> specified at command line
> 2) allow to load more files in addition to the project file (removing so
> the limitation imposed there artificially - possible improvement to this
> would be adding a flag to open_cl_files as argument in order to avoid
Actually, the check if argv is .geany is mainly for the file
managers. You associate geany with the text files, and since .geany is
text too, it automatically works. About the limitation of loading only
the project file, I'm not sure, but loading a project and opening
additional files at the same time does not seem very common.
> that pointer toying)
> 3) the open_cl_files is called after loading the session so the
> specifically selected files are opened last and so are automatically
> selected (what you would expect when opening a file from nautilus)
Personally I'd expect to open only the file I clicked, be it in
existing or new instance. And this change breaks the secondary
instances, since you load the cl files after the check for new_instance.
> 4) if the option to load last session is not enabled and there isn't a
> project file being loaded from command line and a project is not being
> loaded we just try to load files from command line if any
More information about the Devel