[Geany-Devel] [Geany-devel] Separating session file lists from config (again)

Dimitar Zhekov dimitar.zhekov at gmail.com
Tue Oct 9 19:58:15 UTC 2012

On Thu, 4 Oct 2012 10:51:29 +1000
Lex Trotman <elextr at gmail.com> wrote:

> > > Are all settings saved on apply? not just the prefs/project prefs ones?
> >
> > Edit -> Preferences -> OK|Apply saves the entire geany.conf:
> > dialog preferences, UI settings and file list.
> >
> > Project -> Properties -> OK saves the entire $project.conf: project
> > settings and file list.
> >
> > File -> Quit does both.
> >
> AFAICT build->set build commands->ok does neither, it assumes save at the
> end, thats the problem, and why the save on quit is still needed and why
> failing to save on shutdown is a breakage.

Unless you are looking at some really old sources, a project-less
build -> set build commands -> ok saves the changes under filedefs/
immediately ("save filetypes now" in the mailing list). Just fill some
commands, OK, and grep ~/.config/geany.

Save on Quit is needed for the interface preferences, such as View ->
Show Sidebar, and the project-less file list. Unfortunately, the file
list is saved even with a project open, but attempts to fix it trigger
a "multiply instances" discussion.

> The build one is the one I know, my question is then what other dialogs or
> menu items etc change settings but fail to cause a save because they still
> assume save on exit?

The ones from save_ui_prefs(). You can't reasonably expect a file save
each time the side bar is shown/hidden, or the main window is

> > Saving dialog preferences and project settings on Quit does not make
> > real sense, but it's the same file, so there is no reason to separate
> > them. Yet they are internally separate (static) functions, see
> > keyfile.c:configuration_save() and project.c:write_config().
> >
> Not sure what you mean by "its the same file", its not the same file and
> doesn't have the same contents?

The dialog preferences are in the same file (geany.conf) as UI settings
and the project-less file list, which need save on quit; and the project
properties are in the same file ($project.geany) as the project file
list, which needs save on quit. So (not) saving the formers does not
make real difference, the entire file must be re-written anyway.

E-gards: Jimmy

More information about the Devel mailing list