GTK+ matures

By Cameron Laird and Kathryn Soraiz, Unix Insider |  Software

The enthusiasm that fuels GTK+'s proliferation of language bindings has also had a hand in the functionality of the core GTK+ widget set. Early releases of GTK+ had rough edges, compared to alternative toolkits. Perhaps most troublesome, the GTK+ documentation lagged behind the libraries in early versions -- users often didn't understand how to exploit the facilities already present. Still, thousands of applications based on 1.0-1.2 have been produced successfully. Moreover, the 2.0 release of GTK+, which Taylor expects by the first quarter of 2001, brings a sense of completeness and coherence to the library. With 2.0, GTK+ speaks Unicode, its textual widgets will properly handle right-to-left scripts, and the tree/list and text widgets are completely rewritten, more powerful, and easier to use.

GTK+ seems to be spawning new generations of projects, which is encouraging for its long-term health. Just as GTK+ began in the service of GIMP, the 2.0 release has generated several standalone libraries, including Pango, which encapsulates all rendering and management of complex human languages. This means the core of GTK+ doesn't need to take responsibility for these issues. Moreover, this partition makes Pango available to other libraries and applications, including those concerning printing.

Even before 2.0's release, GTK+'s widget set had many fans. Theming (selection of a widget display style) is a built-in capability. GTK+'s set of built-in widgets is richer than Motif's, and GTK+'s geometry management is simpler. GTK+ is at least as modern as any widely available Unix toolkit; that is, it offers most of the capabilities and the appearance Windows programmers expect.

Moreover, many extensions have been built on GTK+. The GnomeCanvas widget, for example, has excellent performance and advanced anti-aliasing.

GTK+'s documentation

Join us:






Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Ask a Question