Meld Deleting MRU Files

I ran across an interesting quirk. To me this quirk is a bug, but coming from the GTK3 folks, I wonder whether the design is intended.

The GTK infrastructure supports a common Most Recently Used (MRU) container named recently-used.xbel, these days stored in $HOME/.local/share.

There is a recently added GTK3 configuration option gtk-recent-files-enabled, stored in $HOME/.config/gtk-3.0/settings.ini.

I use Meld to compare files. A decent program. Oddly, Meld stores its MRU in two places: the recently-used.xbel file and its own directory, $HOME/.local/share/meld.

Peculiar things happen when gtk-recent-files-enabled is set to false. When Meld launches and reads the gtk-recent-files-enabled value as false, Meld, or the GTK3 libraries, deletes the contents of recently-used.xbel. Because recently-used.xbel is empty, Meld then deletes all of its internal MRU files stored in $HOME/.local/share/meld.

This is a horrible usability approach. GTK2 apps use this same recently-used.xbel file. The MATE Places menu provides a specific menu entry for Recent Documents and pulls the information from recently-used.xbel.

Meld should only use its own internal MRU list. GTK3 libraries should not be globally wiping the contents of recently-used.xbel. GTK2 is not obsolete. Even after all GTK2 apps and desktops such as MATE migrate fully to GTK3, each app needs to maintain its own MRU. Meld does not do this correctly.

Troubleshooting this quirk cost me several hours and more than my usual quota of cussing.

Posted: Category: Usability Tagged: General, GTK

Next: Protecting Backup Files

Previous: GRUB Menus