On Thu, 27 Jan 2011 10:20:26 +0100% weltall weltall2@gmail.com wrote:
Hi, I've noticed various issues with file loading from command line:
- 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. 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.
So to fix those issues I've reorganized the code in the load_startup_file function in order to:
- 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 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) 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
Stefano Angeleri
Just to mention, I had similar objections about a year ago when I wrote my version of session management support (the list probably knows what I'm talking about). This was discussed a little, and some patches were included in 'sm' branch. For example, load_startup_files() function in that branch differs significantly from trunk, and open_cl_files() does not have a check for `argc <= 1`. Geany's SVN browse seems to be unavailable now, but I think it should be possible there to view 'sm' branch.
It is harder to find the discussion than the patches themselves, but here is a couple of links:
http://lists.uvena.de/pipermail/geany-devel/2009-November/001577.html (X session management support) http://lists.uvena.de/geany-devel/2010-January/001655.html (Questions about Geany project support)
I don't object against your patches, but I'm just pointing to existing discussion which may be useful. I must note that there are no plans about including those patches from 'sm' branch in trunk (because nobody would want/have time to do it, and it won't be quite easy as 'sm' branch has become rather diverse from trunk), so your way is free :)
Regards, Eugene.