LibFM provides file management functions built on top of Glib/GIO, giving a convenient higher-level API. This requires menu-cache, udisks, and upower.