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.

* Today Functionality: