for GTK+ 2.91.6 The latest version of this documentation can be found on-line at

I. GTK+ Overview
Getting Started with GTK+
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+
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
Main loop and Events — Library initialization, main event loop, and events
Version Information — Variables and functions to check the GTK+ version
Accelerator Groups — Groups of global keyboard accelerators for an entire GtkWindow
Accelerator Maps — Loadable keyboard accelerator specifications
Clipboards — Storing data on clipboards
Drag and Drop — Functions for controlling drag and drop handling
Stock Items — Prebuilt common menu/toolbar items and corresponding icons
Settings — Sharing settings between applications
Bindings — Key bindings for individual widgets
Standard Enumerations — Public enumerated types used throughout GTK+
Selections — Functions for handling inter-process communication via selections
Testing — Utilities for testing GTK+ applications
Filesystem utilities — Functions for working with GIO
III. Theming in GTK+
GtkStyleContext — Rendering UI elements
GtkCssProvider — CSS-like styling for widgets
GtkStyleProvider — Interface to provide style information to GtkStyleContext
GtkStyleProperties — Store for style property information
GtkThemingEngine — Theming renderers
GtkWidgetPath — Widget path abstraction
GtkSymbolicColor — Symbolic colors
GtkGradient — Gradients
GtkIconTheme — Looking up icons by name
Themeable Stock Images — Manipulating stock icons
Resource Files — Routines for handling resource files
GtkStyle — An object that hold style information for widgets
IV. GTK+ Widgets and Objects
Object Hierarchy
Widget Gallery
GtkDialog — Create popup windows
GtkInvisible — A widget which is not displayed
GtkMessageDialog — A convenient message window
GtkWindow — Toplevel which can contain other widgets
GtkWindowGroup — Limit the effect of grabs
GtkAboutDialog — Display information about an application
GtkAssistant — A widget used to guide users through multi-step operations
GtkOffscreenWindow — A toplevel 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 — A widget that displays a small to medium amount of text
GtkProgressBar — A widget which indicates progress visually
GtkStatusbar — Report messages of minor importance to the user
GtkInfoBar — Report important messages to the user
GtkStatusIcon — Display an icon in the system tray
GtkSpinner — Show a spinner animation
Buttons and Toggles
GtkButton — A widget that creates a signal when clicked on
GtkCheckButton — Create widgets with a discrete toggle button
GtkRadioButton — A choice from multiple check buttons
GtkToggleButton — Create buttons which retain their state
GtkLinkButton — Create buttons bound to a URL
GtkScaleButton — A button which pops up a scale
GtkVolumeButton — A button which pops up a volume control
GtkSwitch — A "light switch" style toggle
Numeric/Text Data Entry
GtkEntry — A single line text entry field
GtkEntryBuffer — Text buffer for GtkEntry
GtkEntryCompletion — Completion functionality for GtkEntry
GtkScale — Base class for GtkHScale and GtkVScale
GtkHScale — A horizontal slider widget for selecting a value from a range
GtkVScale — A vertical slider widget for selecting a value from a range
GtkSpinButton — Retrieve an integer or floating-point number from the user
GtkEditable — Interface for text-editing widgets
Multiline Text Editor
Text Widget Overview — Overview of GtkTextBuffer, GtkTextView, and friends
GtkTextIter — Text buffer iterator
GtkTextMark — A position in the buffer preserved across buffer modifications
GtkTextBuffer — Stores attributed text for display in a GtkTextView
GtkTextTag — A tag that can be applied to text in a GtkTextBuffer
GtkTextTagTable — Collection of tags that can be used together
GtkTextView — Widget that displays a GtkTextBuffer
Tree, List and Icon Grid Widgets
Tree and List Widget Overview — Overview of GtkTreeModel, GtkTreeView, and friends
GtkTreeModel — The tree interface used by GtkTreeView
GtkTreeSelection — The selection object for GtkTreeView
GtkTreeViewColumn — A visible column in a GtkTreeView widget
GtkTreeView — A widget for displaying both trees and lists
GtkTreeView drag-and-drop — Interfaces for drag-and-drop support in GtkTreeView
GtkCellView — A widget displaying a single row of a GtkTreeModel
GtkIconView — A widget which displays a list of icons in a grid
GtkTreeSortable — The interface for sortable models used by GtkTreeView
GtkTreeModelSort — A GtkTreeModel which makes an underlying tree model sortable
GtkTreeModelFilter — A GtkTreeModel which hides parts of an underlying tree model
GtkCellLayout — An interface for packing cells
GtkCellRenderer — An object for rendering a single cell
GtkCellEditable — Interface for widgets which can are used for editing cells
GtkCellRendererAccel — Renders a keyboard accelerator in a cell
GtkCellRendererCombo — Renders a combobox in a cell
GtkCellRendererPixbuf — Renders a pixbuf in a cell
GtkCellRendererProgress — Renders numbers as progress bars
GtkCellRendererSpin — Renders a spin button in a cell
GtkCellRendererText — Renders text in a cell
GtkCellRendererToggle — Renders a toggle button in a cell
GtkCellRendererSpinner — Renders a spinning animation in a cell
GtkListStore — A list-like data structure that can be used with the GtkTreeView
GtkTreeStore — A tree-like data structure that can be used with the GtkTreeView
Menus, Combo Box, Toolbar
GtkComboBox — A widget used to choose from a list of items
GtkComboBoxText — A simple, text-only combo box
GtkMenu — A menu widget
GtkMenuBar — A subclass widget for GtkMenuShell which holds GtkMenuItem widgets
GtkMenuItem — The widget used for item in menus
GtkImageMenuItem — A menu item with an icon
GtkRadioMenuItem — A choice from multiple check menu items
GtkCheckMenuItem — A menu item with a check box
GtkSeparatorMenuItem — A separator used in menus
GtkTearoffMenuItem — A menu item used to tear off and reattach its menu
GtkToolShell — Interface for containers containing GtkToolItem widgets
GtkToolbar — Create bars of buttons and other widgets
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 — A toolbar item that separates groups of other toolbar items
GtkToolButton — A GtkToolItem subclass that displays buttons
GtkMenuToolButton — A GtkToolItem containing a button with an additional dropdown menu
GtkToggleToolButton — A GtkToolItem containing a toggle button
GtkRadioToolButton — A toolbar item that contains a radio button
Action-based menus and toolbars
GtkUIManager — Constructing menus and toolbars from an XML description
GtkActionGroup — A group of actions
GtkAction — An action which can be triggered by a menu or toolbar item
GtkToggleAction — An action which can be toggled between two states
GtkRadioAction — An action of which only one in a group can be active
GtkRecentAction — An action of which represents a list of recently used files
GtkActivatable — An interface for activatable widgets
Selectors (Color/File/Font)
GtkColorButton — A button to launch a color selection dialog
GtkColorSelectionDialog — A standard dialog box for selecting a color
GtkColorSelection — A widget used to select a color
GtkHSV — A 'color wheel' widget
GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog
GtkFileChooserButton — A button to launch a file selection dialog
GtkFileChooserDialog — A file chooser dialog, suitable for "File/Open" or "File/Save" commands
GtkFileChooserWidget — File chooser widget that can be embedded in other widgets
GtkFileFilter — A filter for selecting a file subset
GtkFontButton — A button to launch a font selection dialog
GtkFontSelection — A widget for selecting fonts
GtkFontSelectionDialog — A dialog box for selecting fonts
Layout Containers
GtkGrid — Pack widgets in a rows and columns
GtkAlignment — A widget which controls the alignment and size of its child
GtkAspectFrame — A frame that constrains its child to a particular aspect ratio
GtkBox — Base class for box containers
GtkHBox — A horizontal container box
GtkVBox — A vertical container box
GtkButtonBox — Base class for GtkHButtonBox and GtkVButtonBox
GtkHButtonBox — A container for arranging buttons horizontally
GtkVButtonBox — A container for arranging buttons vertically
GtkFixed — A container which allows you to position widgets at fixed coordinates
GtkPaned — Base class for widgets with two adjustable panes
GtkHPaned — A container with two panes arranged horizontally
GtkVPaned — A container with two panes arranged vertically
GtkLayout — Infinite scrollable area containing child widgets and/or custom drawing
GtkNotebook — A tabbed notebook container
GtkTable — Pack widgets in regular patterns
GtkExpander — A container which can hide its child
GtkOrientable — An interface for flippable widgets
GtkFrame — A bin with a decorative frame and optional label
GtkSeparator — Base class for GtkHSeparator and GtkVSeparator
GtkHSeparator — A horizontal separator
GtkVSeparator — A vertical separator
GtkScrollbar — Base class for GtkHScrollbar and GtkVScrollbar
GtkHScrollbar — A horizontal scrollbar
GtkVScrollbar — A vertical scrollbar
GtkScrolledWindow — Adds scrollbars to its child widget
GtkScrollable — An interface for scrollable widgets
GtkPrintOperation — High-level Printing API
GtkPrintContext — Encapsulates context for drawing pages
GtkPrintSettings — Stores print settings
GtkPageSetup — Stores page setup information
GtkPaperSize — Support for named paper sizes
GtkPrinter — Represents a printer
GtkPrintJob — Represents a print job
GtkPrintUnixDialog — A print dialog
GtkPageSetupUnixDialog — A page setup dialog
GtkAdjustment — A representation of an adjustable bounded value
GtkArrow — Displays an arrow
GtkCalendar — Displays a calendar and allows the user to select a date
GtkDrawingArea — A widget for custom user interface elements
GtkEventBox — A widget used to catch events for widgets which do not have their own window
GtkHandleBox — a widget for detachable window portions
GtkIMContextSimple — An input method context supporting table-based input methods
GtkIMMulticontext — An input method context supporting multiple, loadable input methods
GtkSizeGroup — Grouping widgets so they request the same size
GtkTooltip — Add tips to your widgets
GtkViewport — An adapter which makes widgets scrollable
GtkAccessible — Accessibility support for widgets
Abstract Base Classes
GtkWidget — Base class for all widgets
GtkContainer — Base class for widgets which contain other widgets
GtkBin — A container with just one child
GtkMenuShell — A base class for menu objects
GtkMisc — Base class for widgets with alignments and padding
GtkRange — Base class for widgets which visualize an adjustment
GtkIMContext — Base class for input method contexts
Cross-process Embedding
GtkPlug — Toplevel for embedding into other processes
GtkSocket — Container for widgets from other processes
Recently Used Documents
GtkRecentManager — Managing recently used files
GtkRecentChooser — Interface implemented by widgets displaying recently used files
GtkRecentChooserDialog — Displays recently used files in a dialog
GtkRecentChooserMenu — Displays recently used files in a menu
GtkRecentChooserWidget — Displays recently used files
GtkRecentFilter — A filter for selecting a subset of recently used files
Choosing from installed applications
Interface builder
GtkBuildable — Interface for objects that can be built by GtkBuilder
GtkBuilder — Build an interface from an XML UI definition
Application support
GtkApplication — Application class
V. Migrating from Previous Versions of GTK+
Migration Checklist
Implement GtkWidget::popup_menu
Use GdkEventExpose.region
Test for modifier keys correctly
Use named icons
Migrating from GTK+ 2.x to GTK+ 3
Preparation in GTK+ 2.x
Do not include individual headers
Do not use deprecated symbols
Use accessor functions instead of direct access
Replace GDK_<keyname> with GDK_KEY_<keyname>
Use cairo for drawing
Changes that need to be done at the time of the switch
Replace size_request by get_preferred_width/height
Replace GdkRegion by cairo_region_t
Replace GdkPixmap by cairo surfaces
Replace colormaps by visuals
The GtkWidget::draw signal
GtkProgressBar orientation
Check your expand flags
Scrolling changes
GtkObject is gone
Resize grips
Prevent mixed linkage
Install GTK+ modules in the right place
Migrating from libunique to GApplication or GtkApplication
Commands and Messages
Migrating from GtkStyle to GtkStyleContext
VI. GTK+ Tools
gtk-query-immodules-3.0 — Input method module registration utility
gtk-update-icon-cache-3.0 — Icon theme caching utility
gtk-builder-convert-3.0 — Glade file conversion utility
Index of all symbols
Index of deprecated symbols
Index of new symbols in 3.0
Annotation Glossary