Programming for the linux desktop

The resources on this page will let you develop applications in C with a cross-platform graphical interface that works well on Windows, but is native to GNU/Linux.

Using GTK+, typical commands allow you to do things like:

It's all easy stuff to use: see the book review later, or use one of the following links to get started:

The GTK+ Homesite - Get GTK, Learn about it, see what's going on

Tutorial - this tutorial will get you started writing GTK programs, from simple examples to full-blown programs

(GTK is the GIMP ToolKit, and it was programmed in C. GTK+ was an extension and rewrite of the original GTK, and The GIMP (GNU Image Manipulation Program) is a great painting and photo-edit program available for Windows, Unix, or linux)

More features - the Gnome

Gnome is to gnu/linux as Ms-Windows is to Ms-DOS, i.e. it provides a graphical desktop environment where you can have lots of applications doing things in pretty windows around the screen. (granted, it uses X as well to do that!)

GTK+ applications run natively in Gnome, but Gnome makes some things easier, and provides many more libraries. For example, menus, toolbars, and statusbars can be added to Gnome programs with just a few lines of code.

Gnome's developer area - This is the main area for reference material on Gnome programming

Gnome APIs - another quick reference to the Gnome interface

Architecture - how all the components of Gnome fit together

(Gnome is the GNU Network Object Modelling Environment, by the way, and it was programmed in GTK+)

Tools - window design

Glade: Glade is a drag-n-drop window designer, that allows you to select windows, widgets, and layout options from a toolbar, and create a window with them. Once done, it writes the C code for you to make the windows work.

Tools - development environments

gIDE, the GNU development envrionment - no longer a mainstream project, but gIDE was designed to write Gnome programs in.

Kate, the KDE text editor: although this is a KDE program, it does have the useful feature of allowing you to open a shell window below your program, so you can compile and test the program without changing application

EMACS -- Love it or hate it, Stallman's text editor is so powerful that some people consider it an operating system! Unsurpassed text editor, but prepare for a steep learning curve.

While on the subject of the GNU project, why not read about its history, and the biography of RMS, its founder.

Reccommended books

Beginning GTK+/GNOME Programming, by Peter Wright

The link above should send you to a BOL's store area for the book, but if that doesn't work, search for the title or ISBN: 1861003811 at your favourite bookstore.