GNOME 3 Application Development Beginner's Guide
Time for action – installing GNOME and SDK in Fedora 17
Time for action – installing GNOME and SDK in openSUSE 12
Time for action – installing GNOME and SDK in Debian Testing
Time for action – installing GNOME and SDK in Ubuntu 12.04
Time for action – creating a new Vala project
Time for action – navigating between tabs
Time for action – commenting/uncommenting a block
Time for action – running the program for the first time
Time for action – adding a label and a button
Time for action – changing widget properties
Time for action – making the button responsive
Time for action – finding a symbol
Programming GNOME with JavaScript
Time for action – saying hello to Seed
Time for action – running our program with Seed
Time for action – playing with data types
Time for action – controlling Iteration
Time for action – manipulating an array
Time for action – using the JavaScript object
Time for action – playing with constructors
Time for action – adding prototypes
Time for action – modifying the prototype of an object
Time for action – modularizing our program
Time for action – entry point to our program
Time for action – defining member access
Time for action – experiment with data types
Time for action – adding the Gee library
Time for action – Gee in action
Time for action – watching for signals
Time for action – playing with the GLib main loop
Time for action – handling GObject signals
Time for action – accessing properties
Time for action – reading configuration files
Time for action – accessing files
Time for action – accessing a network
Time for action – learning GSettings
Time for action – accessing GSettings programmatically
Building Graphical User Interface Applications
Creating a basic GTK+ application
Time for action – implementing the mockup
Time for action – adding icons to the buttons
Porting the code without GtkBuilder
Time for action – programming with raw GTK+
Time for action – implementing the mockup with Clutter
Overriding the widget's standard functions
Time for action – overriding the set_title function
Time for action – making a composite widget
Implementing a GTK+ custom widget
Time for action – implementing the custom widget
Maintaining widgets in a library
Time for action – creating a library
Understanding the basic concept of GStreamer
Accessing the GStreamer pipeline with the command line
Time for action – testing the pipeline
Time for action – programmatically playing the audio
Time for action – handling the events
Time for action – playing video
Time for action – programmatically playing the video
Time for action – using TreeView
The Evolution Data Server (EDS) architecture
Time for action – setting up the address book and the calendar data source
Time for action – accessing the address book
Have a go hero – saving data to the address book
Deploying HTML5 Applications with GNOME
Time for action – embedding WebKit
Time for action – calling the Vala object from the frontend
Time for action – connecting GNOME with client-side JavaScript
Talking to each other with D-Bus
Time for action – listening to D-Bus
Time for action – talking to the session manager
Time for action – putting our application in the launcher
Time for action – storing passwords securely
Time for action – sending notifications
Making Our Applications Go International
Time for action – getting the available locales
Time for action – adding a locale
Time for action – getting different outputs with different locales
Time for action – bootstrapping the infrastructure
Time for action – creating a UI
Time for action – translating UI texts
Reasons for performing unit testing
Time for action – creating our first unit test
Time for action – creating stubs
Time for action – testing a GTK+ module
Time for action – designing our UI
Time for action – preparing the build infrastructure
Time for action – finishing up