Hey, Gtk+ for "C" and gtkmm for C++ would be a good thing to use. Its good and i have worked it for a while. Gtkmm is pretty much in its initial stages so it would be a good idea to use Gtk since you want to program using C. Lots of Linux interfaces are created using this. I have a book but am not able to find it, will let you know about the author in sometime!