James Willcox wrote:
Good. Does an app have to specifically add a file to both lists, or does this happen automatically?* recently used documents for a particular application (like the list often found at the bottom of the file menu), or desktop wide (like the documents submenu off the start menu on windows), or both?gnome-recent keeps both per-user and per-application lists, so having both menus you described is easy.
Yeah. You would want to be able to pick up the MRU list for a collection of mime types (GIMP may even ask for all "image/*" documents). If your code could handle this, then the global recent documents list could easily be constructed by asking for recent files with mime types matching "*/*".* Should programs that edit the same file types have the same recent lists? (ie. is it the 4 last documents edited with GEdit, or the 4 last text/plain documents edited?)This seems like something the usability guys should decide upon, though gnome-recent would generally work well in either case (the current API calls for "appname", but that could simply be changed to "mime type"). One problem would be if an app supported multiple mime types. There wouldn't be any easy way to do that with the current code.
This would mean that applications add to the recent list by specifying a filename and possibly a mime type (either that, or we grab it from gnome-vfs). To display, the program would ask for an MRU list of files matching a set of mime types and/or mime globs. Would probably want the helper code to handle new additions to the recent list (check if the app matches the predefined list, and if so, add it to the start of the list used in the app, and drop the last item.
Note that writing this up is not a waste of time -- it can become part of the documentation of your code. It will also make it easier for others to comment/contribute.I have a draft version of something like this here: http://www.cs.indiana.edu/~jwillcox/gnome-recent.txt
Looks good. James. -- Email: james daa com au | Linux.conf.au 2003 Call for Papers out WWW: http://www.daa.com.au/~james/ | http://conf.linux.org.au/cfp.html