gio is the new i/o library for gnome, scheduled to replace gnome-vfs. It ships with glib as a separate library called "libgio-2.0". Libgio contains abstractions for file i/o, file types and things like that. It also contains default implementations for local file i/o.

In addition to libgio there is a module called "gvfs", which implements a userspace virtual filesystem using daemons handling each mount and dbus to talk to these daemons. It automatically plugs into libgio and extends its functionality.

The goal for gio/gvfs is to ship with Gnome 2.22, and we've gotten quite far with that. Nautilus has been totally switched over, and many other pieces of the desktop are working on switching. However, there are still parts that need filling out. This page is a listing of bite-sized chunks of work needed in the gio stack. If you're interested, please help out with finishing some of these!

For GIO porting work in the broader Gnome stack, see GioPort.

If you're interested in helping out with this work, join us in the #nautilus channel on irc.


Gio is now in the glib. Its mostly API frozen, although we might do some API additions.

  • API Docs This is in a pretty good state now. The one major omission in the current docs is examples. We need a number of good examples.
  • Other Docs
    • We need a porting guide (similar in spirit to the porting chapters for other things that you can see in the GTK+ api docs. It should cover conversion from both POSIX and gnome-vfs to gio. There is an (almost empty) stub of a migration document in the api docs.
  • Test and extend win32 support as needed
    • I've done some work on win32, but this hasn't been tested or updated recently. Someone interested in win32 should look this over.
  • All gio bugs


Attic/GioToDo (last edited 2013-12-03 18:11:03 by WilliamJonMcCann)