Chapter 16

Programming GNOME Using GTK+

So far in this book, we’ve covered the major topics in Linux programming that deal with complex, under-the-hood stuff. Now it’s time to breathe some life into your applications and look at how to add a Graphical User Interface (GUI) to them. In this chapter and Chapter 17, we’re going to look at the two most popular GUI libraries for Linux: GTK+ and KDE/Qt. These libraries correspond to the two most popular Linux desktop environments: GNOME (GTK+) and KDE.

All GUI libraries in Linux sit on top of the underlying windowing system called the X Window System (or more commonly X11 or just X), so before we delve into GNOME/GTK+ details we provide an overview of how X operates and help you understand how the various layers of the windowing system fit together to create what we call the desktop.

In this chapter, we cover

  • The X Window System
  • An introduction to GNOME/GTK+
  • GTK+ widgets
  • GNOME widgets and menus
  • Dialogs
  • CD Database GUI using GNOME/GTK+

Introducing X

If you’ve ever used a desktop windowing system on Linux, then you’ve most likely used X, an open source graphics system. One of the most innovative, and ultimately frustrating, features of X is the rigid adherence to the mantra of mechanism, not policy. That means X defines no user interface, but provides the means to make one. This means you’re free to create your own entire desktop environment, experimenting and innovating at will. But, it also hindered user interfaces on Linux and UNIX ...

Get Beginning Linux Programming, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.