Steps to reproduce: 1. Open Geany 1.35 2. Main menu > Project > Recent Projects > any project with some files 3. Logout your linux session (I did it by accident, but still) 4. Login back in linux 5. Open back Geany OBSERVE: Main Menu > Project > Recent projects The project is missing from the list
Environment: Debian 9 Lxde
`$ geany -V geany 1.35 (built on 2019-04-29 with GTK 2.24.31, GLib 2.50.3) $ geany -v Geany-INFO: Geany 1.35, en_CA.UTF-8 Geany-INFO: GTK 2.24.31, GLib 2.50.3 Geany-INFO: System data dir: /usr/local/share/geany Geany-INFO: User config dir: /home/eantonov/.config/geany Geany-INFO: System plugin path: /usr/local/lib/geany Geany-INFO: Added filetype Cython (61). Geany-INFO: Added filetype JSON (62). Geany-INFO: Added filetype Arduino (63). Geany-INFO: Added filetype Clojure (64). Geany-INFO: Added filetype Genie (65). Geany-INFO: Added filetype Scala (66). Geany-INFO: Added filetype Graphviz (67). Geany-INFO: Added filetype CUDA (68). Geany-INFO: Loaded libvte from libvte.so.9 Geany-INFO: Loaded: /usr/local/lib/geany/addons.so (Addons) Geany-INFO: Loaded: /usr/local/lib/geany/htmlchars.so (HTML Characters) Geany-INFO: Loaded: /usr/local/lib/geany/lipsum.so (Lipsum) Geany-INFO: Loaded: /usr/local/lib/geany/pairtaghighlighter.so (Pair Tag Highlighter) Geany-INFO: unknown : None (UTF-8) Geany-INFO: Quitting... `
By logging out with Geany running you have effectively crashed Geany. Therefore it has not been able to save the configuration file to record the recent project.
Unfortunately there is no common portable method of interfacing to the desktop session management to be able to ask to be notified on logout and to ask for time to save configuration.
There was a proposal to add that using a library for X11, but it was submitted just as Gnome stopped using X11 and started using dbus for session management. As it was a complicated change, and as it no longer addressed a major desktop in the Geany user base it wasn't merged.
The same thing happens with the session file list, and that is being addressed by saving the session whenever it changes, (see #2114) this should also save the project MRU list at the same time at the cost of more writes to the session files.
github-comments@lists.geany.org