On Gnome Live there’s an ongoing discussion about recent files and bookmarks in Gnome.
In the last two weeks I’ve been designing and writing a platform library for Gnome which addresses the points made on the Wiki, on Bugzilla and on the mailing lists (as I said here).
libgnome-bookmark and implements the concept of a generic “bookmark”; a bookmark is everything pointed by a URI, plus some meta-data. The library comes with two objects:
GnomeBookmarkItem – which is the representation of the bookmark – and
GnomeBookmarkModel – the monitor of the bookmarks storage.
You just add and get items to and from the model, similarly to the current
recent-files stuff. Plus, the model has the ability to support custom filter and sort functions, in order to get what you want, the way you want it. Bookmarks also might be registered by more than one application (so that you have the ability to create per-application bookmarks) and might belong to various groups (so that you can have classes of applications using the same bookmarks).
Recent files and desktop bookmarks are handled simply by defining two groups in the specification.
In my opinion, this solves the bookmarks problem, and the recent files issues in a single move.