rur is a very simple library that offer the recently used record management interface to the POSIX 1 software developer. The record information is stored in the ~/.recently-used.xbel file with the Desktop Bookmarks Storage Specification 2compliant format. Developer can use this library to manage his recently opened file easily.
In the latest 2005, I added the recently opened file's record function to xpdf 3 with a dirty solution to store the record information into the ~/.xpdfRecently file. After that, I recognized that this should be a common function between many software which visit one sort of files on disk(I should realize this early). So, I turned into the gedit 4 project's source code, and then found the recent-file-spec 5, which defined the common way the gnome application used to store these information. When I then read the EggRecentModel code which gedit used, I found that these code is so difficult to understand, it does a bunch of read/write operations, and it's not very optimized. On the other hand, I found ebassi is also interest on the recently used recorder function, and he has already defined the newer Desktop Bookmarks Storage Specification to store these information. So, I contacted with him and then decided to write a third-party library that not depend on GLib to offer this function to Non-GNOME application. This is mainly why rur present here, in addition, I want a library to record the visited file's page number for the application with an optional function, this should be very useful while you are playing with the pdf like file.
When I start to work for it, I found the hardest part is the XML file parse and write back into disk. So, I need a XML parser to do this for me. At first, I prepare to use libxml 6, but, as same as the last time, I found libxml is too difficult to understand, so I replaced it by a simpler way once again. I use Mini-XML 7 to parse and write the record file. Mini-XML thinks in the simplest way to parse one XML file, so I can use it in the simplest way.
To be honest, I am a very junior C programmer. rur is my first free software, with the following guy's help, it became useable eventually.
| derekn | derekn@foolabs.com | rur is inspired by xpdf |
| James Willcox | jwillcox@cs.indiana.edu | recent-file-spec |
| Michael Sweet | mike@easysw.com | Mini-XML library |
| Stig Brautaset | stig@brautaset.org | a small and flexible linked list |
| Emmanuele Bassi | ebassi@gmail.com | Desktop Bookmarks Storage Specification |