Wednesday, March 3, 2010

Nautilus Zeigeist and Zeigeist GVFS



I modified zeitgeist-filesystem's(fuse) code to display commonly used items, and patched nautilus to add the side bar items. It is just a quick and dirty proof of concept that was made easy due to Markus's work on zeitgeist-filesystem. My approach however was not the best.

The correct approach is to write two GVFS backends, similar to gvfsbackendburn(burn://) and gvfsbackendcomputer(computer://). One for commonly used items and another for recent history. For simplicities sake the history backend should not allow navigation like the current zeitgeist-filesystem does, as it will only query and create the directory when the user tries to access it. These backends should help in writing a zeitgeist version of GtkRecentChooserDialog as it could just display the content of a directory.

The backends should be accessible using uris similar to:
  • commonlyaccessed://{mime/type or interpretation }
  • history://{today, yesterday, MM_DD_YYY}
I am not completely familiar with the limitations surrounding gvfs, but I don't think any of these ideas are unreasonable. Let me know where I got it wrong, and if there is a better way to approach the situation. Perhaps something good will come out of this, perhaps not.

links:
* Today Functionality: http://www.youtube.com/watch?v=sXJDMsewz1c
* https://code.launchpad.net/~gnome-zeitgeist/gnome-activity-journal/nautilus-journal
* https://code.launchpad.net/~email-tehk/zeitgeist-filesystem/commonly-used
* http://www.design-by-izo.com/2010/02/27/deconstructing-nautilus-and-rebuilding-it-better/
* http://seilo.geekyogre.com/2010/02/nautilus-zeitgeist/#comments