A book on writing software for GNOME OS
C Python Shell
Latest commit fd44726 Jul 11, 2013 @chergert update note.


GNOME Desktop Programming

GNOME Desktop Programming is a book for those that want to write software for Linux and GNOME in particular. It targets the C programming language but may someday include other languages based on its popularity.

Feel free to fork this book and start on chapters yourself if you feel competent in a particular subject. The book has an outline for what I would like to cover.


The audience for this book are people who have a basic knowledge of the C programming language and are interested in Linux, GNOME, and writing quality software. If you do not feel you are competent in C, I suggest you join GNOME University to work on that aspect first. GNOME University started as part of this book, but I soon learned it would grow out of scope.


GNOME Desktop Programming will cover the things that are most important to those who want to read it. If you would like to suggest a topic or work on one, fork and add it or submit an issue on github.

  • GLib Essentials
  • OO with GObject
  • GTK user interfaces
  • Clutter
    • Clutter with GTK
  • GStreamer
    • GStreamer with GTK
    • GStreamer with Clutter
  • Networking
  • Application Settings
  • IPC with D-BUS
  • Desktop Integration (Launchers, etc)
  • Building packages for distrobution
  • Autotools essentials