This document is for the GTK+ 2 library; the latest versions can be found online at http://library.gnome.org/devel/gtk2. If you're looking for the newer GTK+ 3 series of libraries, see http://library.gnome.org/devel/gtk3/.


I. GTK+ Overview
Compiling the GTK+ libraries — How to compile GTK+ itself
Compiling GTK+ Applications — How to compile your GTK+ application
Running GTK+ Applications — How to run and debug your GTK+ application
Using GTK+ on the X Window System — X11 aspects of using GTK+
Using GTK+ on Windows — Windows-specific aspects of using GTK+
Using GTK+ on Mac OS X — OS X-specific aspects of using GTK+
Using GTK+ on DirectFB — DirectFB-specific aspects of using GTK+
Mailing lists and bug reports — Getting help with GTK+
Common Questions — Find answers to common questions in the GTK+ manual
The GTK+ Drawing Model — The GTK+ drawing model in detail
II. GTK+ Core Reference
General
Accelerator Groups — Groups of global keyboard accelerators for an entire GtkWindow
Accelerator Maps
Clipboards
Drag and Drop
GtkIconTheme
Stock Items — Prebuilt common menu/toolbar items and corresponding icons
Themeable Stock Images
Resource Files
GtkSettings
Bindings
Standard Enumerations
Graphics Contexts
GtkStyle
Selections
Feature Test Macros
Signals
Types
Testing — Utilities for testing GTK+ applications
Filesystem utilities — Functions for working with GIO
III. GTK+ Widgets and Objects
Object Hierarchy
Widget Gallery
Windows
GtkDialog
GtkInvisible
GtkMessageDialog — A convenient message window
GtkWindow
GtkWindowGroup
GtkAboutDialog — Display information about an application
GtkAssistant — A widget used to guide users through multi-step operations
GtkOffscreenWindow — A toplevel container widget used to manage offscreen rendering of child widgets.
Display Widgets
GtkAccelLabel — A label which displays an accelerator key on the right of the text
GtkImage — A widget displaying an image
GtkLabel
GtkProgressBar
GtkStatusbar
GtkInfoBar — Report important messages to the user
GtkStatusIcon
GtkSpinner — Show a spinner animation
Buttons and Toggles
GtkButton
GtkCheckButton
GtkRadioButton
GtkToggleButton
GtkLinkButton
GtkScaleButton
GtkVolumeButton — A button which pops up a volume control
Numeric/Text Data Entry
GtkEntry
GtkEntryBuffer — Text buffer for GtkEntry
GtkEntryCompletion
GtkHScale
GtkVScale — A vertical slider widget for selecting a value from a range
GtkSpinButton
GtkEditable
Multiline Text Editor
Text Widget Overview — Overview of GtkTextBuffer, GtkTextView, and friends
GtkTextIter
GtkTextMark
GtkTextBuffer
GtkTextTag
GtkTextTagTable — Collection of tags that can be used together
GtkTextView
Tree, List and Icon Grid Widgets
Tree and List Widget Overview — Overview of GtkTreeModel, GtkTreeView, and friends
GtkTreeModel
GtkTreeSelection
GtkTreeViewColumn
GtkTreeView
GtkTreeView drag-and-drop
GtkCellView
GtkIconView
GtkTreeSortable
GtkTreeModelSort
GtkTreeModelFilter
GtkCellLayout
GtkCellRenderer
GtkCellEditable
GtkCellRendererAccel
GtkCellRendererCombo
GtkCellRendererPixbuf
GtkCellRendererProgress
GtkCellRendererSpin
GtkCellRendererText
GtkCellRendererToggle
GtkCellRendererSpinner — Renders a spinning animation in a cell
GtkListStore
GtkTreeStore
Menus, Combo Box, Toolbar
GtkComboBox — A widget used to choose from a list of items
GtkComboBoxText — A simple, text-only combo box
GtkComboBoxEntry
GtkMenu
GtkMenuBar
GtkMenuItem
GtkImageMenuItem
GtkRadioMenuItem
GtkCheckMenuItem
GtkSeparatorMenuItem
GtkTearoffMenuItem
GtkToolShell — Interface for containers containing GtkToolItem widgets
GtkToolbar
GtkToolItem — The base class of widgets that can be added to GtkToolShell
GtkToolPalette — A tool palette with categories
GtkToolItemGroup — A sub container used in a tool palette
GtkSeparatorToolItem
GtkToolButton
GtkMenuToolButton
GtkToggleToolButton
GtkRadioToolButton
Action-based menus and toolbars
GtkUIManager
GtkActionGroup
GtkAction — An action which can be triggered by a menu or toolbar item
GtkToggleAction
GtkRadioAction
GtkRecentAction
GtkActivatable — An interface for activatable widgets
Selectors (File/Font/Color/Input Devices)
GtkColorButton
GtkColorSelectionDialog
GtkColorSelection
GtkHSV
GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog
GtkFileChooserButton
GtkFileChooserDialog
GtkFileChooserWidget
gtkfilefilter
GtkFontButton
GtkFontSelection
GtkFontSelectionDialog
GtkInputDialog
Layout Containers
GtkAlignment — A widget which controls the alignment and size of its child
GtkAspectFrame — A frame that constrains its child to a particular aspect ratio
GtkHBox — A horizontal container box
GtkVBox — A vertical container box
GtkHButtonBox
GtkVButtonBox — A container for arranging buttons vertically
GtkFixed
GtkHPaned
GtkVPaned — A container with two panes arranged vertically
GtkLayout
GtkNotebook
GtkTable
GtkExpander
Orientable
Ornaments
GtkFrame
GtkHSeparator
GtkVSeparator — A vertical separator
Scrolling
GtkHScrollbar
GtkVScrollbar — A vertical scrollbar
GtkScrolledWindow
Printing
High-level Printing API
GtkPrintContext
GtkPrintSettings
GtkPageSetup
GtkPaperSize
GtkPrinter
GtkPrintJob
GtkPrintUnixDialog
GtkPageSetupUnixDialog
Miscellaneous
GtkAdjustment
GtkArrow — Displays an arrow
GtkCalendar
GtkDrawingArea
GtkEventBox
GtkHandleBox
GtkIMContextSimple
GtkIMMulticontext
GtkSizeGroup
GtkTooltip
GtkViewport — An adapter which makes widgets scrollable
GtkAccessible — Accessibility support for widgets
Abstract Base Classes
GtkBin — A container with just one child
GtkBox
GtkButtonBox
GtkContainer
GtkItem
GtkMenuShell
GtkMisc
GtkObject
GtkPaned
GtkRange
GtkScale
GtkScrollbar
GtkSeparator
GtkWidget — Base class for all widgets
GtkIMContext — Base class for input method contexts
Cross-process Embedding
GtkPlug — Toplevel for embedding into other processes
GtkSocket — Container for widgets from other processes
Special-purpose features
GtkCurve
GtkGammaCurve
GtkRuler
GtkHRuler
GtkVRuler — A vertical ruler
Recently Used Documents
GtkRecentManager
GtkRecentChooser
GtkRecentChooserDialog
GtkRecentChooserMenu
GtkRecentChooserWidget
GtkRecentFilter
Interface builder
GtkBuildable — Interface for objects that can be built by GtkBuilder
GtkBuilder
Deprecated
GtkCList
GtkCTree
GtkCombo
GtkFileSelection
GtkItemFactory
GtkList
GtkListItem
GtkOldEditable
GtkOptionMenu
GtkPixmap
GtkPreview
GtkProgress
GtkText
GtkTooltips
GtkTipsQuery
GtkTree
GtkTreeItem
IV. Migrating from Previous Versions of GTK+
Migration Checklist
Implement GtkWidget::popup_menu
Use GdkEventExpose.region
Test for modifier keys correctly
Use named icons
Changes from 1.0 to 1.2 — Incompatible changes made between version 1.0 and version 1.2
Changes from 1.2 to 2.0 — Incompatible changes made between version 1.2 and version 2.0
Migrating from GtkFileSelection to GtkFileChooser
Creating a GtkFileChooserDialog
Selection Modes
Installing a Preview widget
Installing Extra Widgets
New features
Migrating from old menu and toolbar systems to GtkAction
Actions and Action Groups
User Interface Manager Object
Migrating from GnomeUIInfo
Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and GtkComboBoxEntry
Migrating from GtkOptionMenu to GtkComboBox
Migrating from GtkCombo to GtkComboBoxEntry
New features
Migrating from GnomeIconList to GtkIconView
Migrating from GnomeAbout to GtkAboutDialog
Migrating from GnomeColorPicker to GtkColorButton
Migrating from GnomeDruid to GtkAssistant
Inserting pages
Decorating the assistant pages
Setting the page flow
Migrating from EggRecent to GtkRecentChooser
Managing the Recently Used Documents
Displaying the Recently Used Documents
Advanced usage
Migrating from GnomeHRef to GtkLinkButton
Migrating from libglade to GtkBuilder
Migrating from GtkTooltips to GtkTooltip
Migrating from SexyIconEntry to GtkEntry
Migrating from SexyUrlLabel to GtkLabel
Migrating to client-side windows
V. GTK+ Tools
gtk-query-immodules-2.0 — Input method module registration utility
gtk-update-icon-cache — Icon theme caching utility
gtk-builder-convert — Glade file conversion utility
Glossary
Index of all symbols
Annotation Glossary