Gtk – 4.0
Description: Reference for Gtk-4.0

### Namespace

# Gtk – 4.0

The GTK toolkit

Version | 4.14.3
Authors | GTK Development Team
License | LGPL-2.1-or-later
Website | https://www.gtk.org
Source | https://gitlab.gnome.org/GNOME/gtk/

#### Build

C headers | `gtk/gtk.h`
pkg-config files | `gtk4`

#### Dependencies

Gdk—4.0 | The GTK windowing system abstraction
| Browse documentation
Gsk—4.0 | The GTK rendering abstraction
| Browse documentation

#### Related libraries

GObject | The base type system library
| Browse documentation
GIO | GObject Interfaces and Objects, Networking, IPC, and I/O
| Browse documentation
Graphene | A thin layer of mathematical types for 3D libraries
| Browse documentation
Pango | Text shaping and rendering
| Browse documentation

#### Additional documentation

- Overview
- Getting Started with GTK
- Building GTK
- Compiling GTK Applications on UNIX
- Running and debugging GTK Applications
- Common Questions
- Contact information and bug reports
- Initializing GTK
- Overview of actions in GTK
- Overview of GTK input and event handling
- Drag-and-Drop in GTK
- Overview of the drawing model
- Coordinate systems in GTK
- CSS in GTK
- GTK CSS Properties
- GTK Accessibility
- List Widget Overview
- Text Widget Overview
- Tree and List Widget Overview
- Migrating from GTK 2.x to GTK 4
- Migrating from GTK 3.x to GTK 4
- The Broadway windowing system
- Using GTK on Apple macOS
- Using GTK with Wayland
- Using GTK on Windows
- Using GTK with X11
- Widget Gallery
- Classes Hierarchy

#### Classes

AboutDialog | The `GtkAboutDialog` offers a simple way to display information about a program. since: 4.0
ActionBar | `GtkActionBar` is designed to present contextual actions. since: 4.0
ActivateAction | A `GtkShortcutAction` that calls gtk_widget_activate(). since: 4.0
Adjustment | `GtkAdjustment` is a model for a numeric value. since: 4.0
AlertDialog | A `GtkAlertDialog` object collects the arguments that are needed to present a message to the user. since: 4.10
AlternativeTrigger | A `GtkShortcutTrigger` that combines two triggers. since: 4.0
AnyFilter | `GtkAnyFilter` matches an item when at least one of its filters matches. since: 4.0
AppChooserButton | The `GtkAppChooserButton` lets the user select an application. deprecated: 4.10 since: 4.0
AppChooserDialog | `GtkAppChooserDialog` shows a `GtkAppChooserWidget` inside a `GtkDialog`. deprecated: 4.10 since: 4.0
AppChooserWidget | `GtkAppChooserWidget` is a widget for selecting applications. deprecated: 4.10 since: 4.0
Application | `GtkApplication` is a high-level API for writing applications. since: 4.0
ApplicationWindow | `GtkApplicationWindow` is a `GtkWindow` subclass that integrates with `GtkApplication`. since: 4.0
AspectFrame | `GtkAspectFrame` preserves the aspect ratio of its child. since: 4.0
Assistant | `GtkAssistant` is used to represent a complex as a series of steps. deprecated: 4.10 since: 4.0
AssistantPage | `GtkAssistantPage` is an auxiliary object used by `GtkAssistant. deprecated: 4.10 since: 4.0
ATContext | `GtkATContext` is an abstract class provided by GTK to communicate to platform-specific assistive technologies API. since: 4.0
BinLayout | `GtkBinLayout` is a `GtkLayoutManager` subclass useful for create “bins” of widgets. since: 4.0
BookmarkList | `GtkBookmarkList` is a list model that wraps `GBookmarkFile`. since: 4.0
BoolFilter | `GtkBoolFilter` evaluates a boolean `GtkExpression` to determine whether to include items. since: 4.0
Box | The `GtkBox` widget arranges child widgets into a single row or column. since: 4.0
BoxLayout | `GtkBoxLayout` is a layout manager that arranges children in a single row or column. since: 4.0
Builder | A `GtkBuilder` reads XML descriptions of a user interface and instantiates the described objects. since: 4.0
BuilderCScope | A `GtkBuilderScope` implementation for the C language. since: 4.0
BuilderListItemFactory | `GtkBuilderListItemFactory` is a `GtkListItemFactory` that creates widgets by instantiating `GtkBuilder` UI templates. since: 4.0
Button | The `GtkButton` widget is generally used to trigger a callback function that is called when the button is pressed. since: 4.0
Calendar | `GtkCalendar` is a widget that displays a Gregorian calendar, one month at a time. since: 4.0
CallbackAction | A `GtkShortcutAction` that invokes a callback. since: 4.0
CClosureExpression | A variant of `GtkClosureExpression` using a C closure. since: 4.0
CellArea | An abstract class for laying out `GtkCellRenderer`s. deprecated: 4.10 since: 4.0
CellAreaBox | A cell area that renders GtkCellRenderers into a row or a column. deprecated: 4.10 since: 4.0
CellAreaContext | Stores geometrical information for a series of rows in a GtkCellArea. deprecated: 4.10 since: 4.0
CellRenderer | An object for rendering a single cell. deprecated: 4.10 since: 4.0
CellRendererAccel | Renders a keyboard accelerator in a cell. deprecated: 4.10 since: 4.0
CellRendererCombo | Renders a combobox in a cell. deprecated: 4.10 since: 4.0
CellRendererPixbuf | Renders a pixbuf in a cell. deprecated: 4.10 since: 4.0
CellRendererProgress | Renders numbers as progress bars. deprecated: 4.10 since: 4.0
CellRendererSpin | Renders a spin button in a cell. deprecated: 4.10 since: 4.0
CellRendererSpinner | Renders a spinning animation in a cell. deprecated: 4.10 since: 4.0
CellRendererText | Renders text in a cell. deprecated: 4.10 since: 4.0
CellRendererToggle | Renders a toggle button in a cell. deprecated: 4.10 since: 4.0
CellView | A widget displaying a single row of a GtkTreeModel. deprecated: 4.10 since: 4.0
CenterBox | `GtkCenterBox` arranges three children in a row, keeping the middle child centered as well as possible. since: 4.0
CenterLayout | `GtkCenterLayout` is a layout manager that manages up to three children. since: 4.0
CheckButton | A `GtkCheckButton` places a label next to an indicator. since: 4.0
ClosureExpression | An expression using a custom `GClosure` to compute the value from its parameters. since: 4.0
ColorButton | The `GtkColorButton` allows to open a color chooser dialog to change the color. deprecated: 4.10 since: 4.0
ColorChooserDialog | A dialog for choosing a color. deprecated: 4.10 since: 4.0
ColorChooserWidget | The `GtkColorChooserWidget` widget lets the user select a color. deprecated: 4.10 since: 4.0
ColorDialog | A `GtkColorDialog` object collects the arguments that are needed to present a color chooser dialog to the user, such as a title for the dialog and whether it should be modal. since: 4.10
ColorDialogButton | The `GtkColorDialogButton` is a wrapped around a `GtkColorDialog` and allows to open a color chooser dialog to change the color. since: 4.10
ColumnView | `GtkColumnView` presents a large dynamic list of items using multiple columns with headers. since: 4.0
ColumnViewCell | `GtkColumnViewCell` is used by `GtkColumnViewColumn` to represent items in a cell in `GtkColumnView`. since: 4.12
ColumnViewColumn | `GtkColumnViewColumn` represents the columns being added to a `GtkColumnView`. since: 4.0
ColumnViewRow | `GtkColumnViewRow` is used by `GtkColumnView` to allow configuring how rows are displayed. since: 4.12
ColumnViewSorter | `GtkColumnViewSorter` is a sorter implementation that is geared towards the needs of `GtkColumnView`. since: 4.10
ComboBox | A `GtkComboBox` is a widget that allows the user to choose from a list of valid choices. deprecated: 4.10 since: 4.0
ComboBoxText | A `GtkComboBoxText` is a simple variant of `GtkComboBox` for text-only use cases. deprecated: 4.10 since: 4.0
ConstantExpression | A constant value in a `GtkExpression`. since: 4.0
Constraint | `GtkConstraint` describes a constraint between attributes of two widgets, expressed as a linear equation. since: 4.0
ConstraintGuide | A `GtkConstraintGuide` is an invisible layout element in a `GtkConstraintLayout`. since: 4.0
ConstraintLayout | A layout manager using constraints to describe relations between widgets. since: 4.0
ConstraintLayoutChild | `GtkLayoutChild` subclass for children in a `GtkConstraintLayout`. since: 4.0
CssProvider | `GtkCssProvider` is an object implementing the `GtkStyleProvider` interface for CSS. since: 4.0
CustomFilter | `GtkCustomFilter` determines whether to include items with a callback. since: 4.0
CustomLayout | `GtkCustomLayout` uses closures for size negotiation. since: 4.0
CustomSorter | `GtkCustomSorter` is a `GtkSorter` implementation that sorts via a callback function. since: 4.0
Dialog | Dialogs are a convenient way to prompt the user for a small amount of input. deprecated: 4.10 since: 4.0
DirectoryList | `GtkDirectoryList` is a list model that wraps g_file_enumerate_children_async(). since: 4.0
DragIcon | `GtkDragIcon` is a `GtkRoot` implementation for drag icons. since: 4.0
DragSource | `GtkDragSource` is an event controller to initiate Drag-And-Drop operations. since: 4.0
DrawingArea | `GtkDrawingArea` is a widget that allows drawing with cairo. since: 4.0
DropControllerMotion | `GtkDropControllerMotion` is an event controller tracking the pointer during Drag-and-Drop operations. since: 4.0
DropDown | `GtkDropDown` is a widget that allows the user to choose an item from a list of options. since: 4.0
DropTarget | `GtkDropTarget` is an event controller to receive Drag-and-Drop operations. since: 4.0
DropTargetAsync | `GtkDropTargetAsync` is an event controller to receive Drag-and-Drop operations, asynchronously. since: 4.0
EditableLabel | A `GtkEditableLabel` is a label that allows users to edit the text by switching to an “edit mode”. since: 4.0
EmojiChooser | The `GtkEmojiChooser` is used by text widgets such as `GtkEntry` or `GtkTextView` to let users insert Emoji characters. since: 4.0
Entry | `GtkEntry` is a single line text entry widget. since: 4.0
EntryBuffer | A `GtkEntryBuffer` hold the text displayed in a `GtkText` widget. since: 4.0
EntryCompletion | `GtkEntryCompletion` is an auxiliary object to provide completion functionality for `GtkEntry`. deprecated: 4.10 since: 4.0
EventController | `GtkEventController` is the base class for event controllers. since: 4.0
EventControllerFocus | `GtkEventControllerFocus` is an event controller to keep track of keyboard focus. since: 4.0
EventControllerKey | `GtkEventControllerKey` is an event controller that provides access to key events. since: 4.0
EventControllerLegacy | `GtkEventControllerLegacy` is an event controller that provides raw access to the event stream. since: 4.0
EventControllerMotion | `GtkEventControllerMotion` is an event controller tracking the pointer position. since: 4.0
EventControllerScroll | `GtkEventControllerScroll` is an event controller that handles scroll events. since: 4.0
EveryFilter | `GtkEveryFilter` matches an item when each of its filters matches. since: 4.0
Expander | `GtkExpander` allows the user to reveal its child by clicking on an expander triangle. since: 4.0
Expression | `GtkExpression` provides a way to describe references to values. since: 4.0
FileChooserDialog | `GtkFileChooserDialog` is a dialog suitable for use with “File Open” or “File Save” commands. deprecated: 4.10 since: 4.0
FileChooserNative | `GtkFileChooserNative` is an abstraction of a dialog suitable for use with “File Open” or “File Save as” commands. deprecated: 4.10 since: 4.0
FileChooserWidget | `GtkFileChooserWidget` is a widget for choosing files. deprecated: 4.10 since: 4.0
FileDialog | A `GtkFileDialog` object collects the arguments that are needed to present a file chooser dialog to the user, such as a title for the dialog and whether it should be modal. since: 4.10
FileFilter | `GtkFileFilter` filters files by name or mime type. since: 4.0
FileLauncher | A `GtkFileLauncher` object collects the arguments that are needed to open a file with an application. since: 4.10
Filter | A `GtkFilter` object describes the filtering to be performed by a `GtkFilterListModel`. since: 4.0
FilterListModel | `GtkFilterListModel` is a list model that filters the elements of the underlying model according to a `GtkFilter`. since: 4.0
Fixed | `GtkFixed` places its child widgets at fixed positions and with fixed sizes. since: 4.0
FixedLayout | `GtkFixedLayout` is a layout manager which can place child widgets at fixed positions. since: 4.0
FixedLayoutChild | `GtkLayoutChild` subclass for children in a `GtkFixedLayout`. since: 4.0
FlattenListModel | `GtkFlattenListModel` is a list model that concatenates other list models. since: 4.0
FlowBox | A `GtkFlowBox` puts child widgets in reflowing grid. since: 4.0
FlowBoxChild | `GtkFlowBoxChild` is the kind of widget that can be added to a `GtkFlowBox`. since: 4.0
FontButton | The `GtkFontButton` allows to open a font chooser dialog to change the font. deprecated: 4.10 since: 4.0
FontChooserDialog | The `GtkFontChooserDialog` widget is a dialog for selecting a font. deprecated: 4.10 since: 4.0
FontChooserWidget | The `GtkFontChooserWidget` widget lets the user select a font. deprecated: 4.10 since: 4.0
FontDialog | A `GtkFontDialog` object collects the arguments that are needed to present a font chooser dialog to the user, such as a title for the dialog and whether it should be modal. since: 4.10
FontDialogButton | The `GtkFontDialogButton` is wrapped around a `GtkFontDialog` and allows to open a font chooser dialog to change the font. since: 4.10
Frame | `GtkFrame` is a widget that surrounds its child with a decorative frame and an optional label. since: 4.0
Gesture | `GtkGesture` is the base class for gesture recognition. since: 4.0
GestureClick | `GtkGestureClick` is a `GtkGesture` implementation for clicks. since: 4.0
GestureDrag | `GtkGestureDrag` is a `GtkGesture` implementation for drags. since: 4.0
GestureLongPress | `GtkGestureLongPress` is a `GtkGesture` for long presses. since: 4.0
GesturePan | `GtkGesturePan` is a `GtkGesture` for pan gestures. since: 4.0
GestureRotate | `GtkGestureRotate` is a `GtkGesture` for 2-finger rotations. since: 4.0
GestureSingle | `GtkGestureSingle` is a `GtkGestures` subclass optimized for singe-touch and mouse gestures. since: 4.0
GestureStylus | `GtkGestureStylus` is a `GtkGesture` specific to stylus input. since: 4.0
GestureSwipe | `GtkGestureSwipe` is a `GtkGesture` for swipe gestures. since: 4.0
GestureZoom | `GtkGestureZoom` is a `GtkGesture` for 2-finger pinch/zoom gestures. since: 4.0
GLArea | `GtkGLArea` is a widget that allows drawing with OpenGL. since: 4.0
GraphicsOffload | A widget that allows to bypass gsk rendering for its child by passing the content directly to the compositor. since: 4.14
Grid | `GtkGrid` is a container which arranges its child widgets in rows and columns. since: 4.0
GridLayout | `GtkGridLayout` is a layout manager which arranges child widgets in rows and columns. since: 4.0
GridLayoutChild | `GtkLayoutChild` subclass for children in a `GtkGridLayout`. since: 4.0
GridView | `GtkGridView` presents a large dynamic grid of items. since: 4.0
HeaderBar | `GtkHeaderBar` is a widget for creating custom title bars for windows. since: 4.0
IconPaintable | Contains information found when looking up an icon in `GtkIconTheme`. since: 4.0
IconTheme | `GtkIconTheme` provides a facility for loading themed icons. since: 4.0
IconView | `GtkIconView` is a widget which displays data in a grid of icons. deprecated: 4.10 since: 4.0
Image | The `GtkImage` widget displays an image. since: 4.0
IMContext | `GtkIMContext` defines the interface for GTK input methods. since: 4.0
IMContextSimple | `GtkIMContextSimple` is an input method supporting table-based input methods. since: 4.0
IMMulticontext | `GtkIMMulticontext` is an input method context supporting multiple, switchable input methods. since: 4.0
InfoBar | `GtkInfoBar` can be used to show messages to the user without a dialog. deprecated: 4.10 since: 4.0
Inscription | `GtkInscription` is a widget to show text in a predefined area. since: 4.8
KeyvalTrigger | A `GtkShortcutTrigger` that triggers when a specific keyval and modifiers are pressed. since: 4.0
Label | The `GtkLabel` widget displays a small amount of text. since: 4.0
LayoutChild | `GtkLayoutChild` is the base class for objects that are meant to hold layout properties. since: 4.0
LayoutManager | Layout managers are delegate classes that handle the preferred size and the allocation of a widget. since: 4.0
LevelBar | `GtkLevelBar` is a widget that can be used as a level indicator. since: 4.0
LinkButton | A `GtkLinkButton` is a button with a hyperlink. since: 4.0
ListBase | `GtkListBase` is the abstract base class for GTK’s list widgets. since: 4.0
ListBox | `GtkListBox` is a vertical list. since: 4.0
ListBoxRow | `GtkListBoxRow` is the kind of widget that can be added to a `GtkListBox`. since: 4.0
ListHeader | `GtkListHeader` is used by list widgets to represent the headers they display. since: 4.12
ListItem | `GtkListItem` is used by list widgets to represent items in a `GListModel`. since: 4.0
ListItemFactory | A `GtkListItemFactory` creates widgets for the items taken from a `GListModel`. since: 4.0
ListStore | A list-like data structure that can be used with the `GtkTreeView`. deprecated: 4.10 since: 4.0
ListView | `GtkListView` presents a large dynamic list of items. since: 4.0
LockButton | `GtkLockButton` is a widget to obtain and revoke authorizations needed to operate the controls. deprecated: 4.10 since: 4.0
MapListModel | A `GtkMapListModel` maps the items in a list model to different items. since: 4.0
MediaControls | `GtkMediaControls` is a widget to show controls for a video. since: 4.0
MediaFile | `GtkMediaFile` implements `GtkMediaStream` for files. since: 4.0
MediaStream | `GtkMediaStream` is the integration point for media playback inside GTK. since: 4.0
MenuButton | The `GtkMenuButton` widget is used to display a popup when clicked. since: 4.0
MessageDialog | `GtkMessageDialog` presents a dialog with some message text. deprecated: 4.10 since: 4.0
MnemonicAction | A `GtkShortcutAction` that calls gtk_widget_mnemonic_activate(). since: 4.0
MnemonicTrigger | A `GtkShortcutTrigger` that triggers when a specific mnemonic is pressed. since: 4.0
MountOperation | `GtkMountOperation` is an implementation of `GMountOperation`. since: 4.0
MultiFilter | `GtkMultiFilter` is the base class for filters that combine multiple filters. since: 4.0
MultiSelection | `GtkMultiSelection` is a `GtkSelectionModel` that allows selecting multiple elements. since: 4.0
MultiSorter | `GtkMultiSorter` combines multiple sorters by trying them in turn. since: 4.0
NamedAction | A `GtkShortcutAction` that activates an action by name. since: 4.0
NativeDialog | Native dialogs are platform dialogs that don’t use `GtkDialog`. since: 4.0
NeverTrigger | A `GtkShortcutTrigger` that never triggers. since: 4.0
NoSelection | `GtkNoSelection` is a `GtkSelectionModel` that does not allow selecting anything. since: 4.0
Notebook | `GtkNotebook` is a container whose children are pages switched between using tabs. since: 4.0
NotebookPage | `GtkNotebookPage` is an auxiliary object used by `GtkNotebook`. since: 4.0
NothingAction | A `GtkShortcutAction` that does nothing. since: 4.0
NumericSorter | `GtkNumericSorter` is a `GtkSorter` that compares numbers. since: 4.0
ObjectExpression | A `GObject` value in a `GtkExpression`. since: 4.0
Overlay | `GtkOverlay` is a container which contains a single main child, on top of which it can place “overlay” widgets. since: 4.0
OverlayLayout | `GtkOverlayLayout` is the layout manager used by `GtkOverlay`. since: 4.0
OverlayLayoutChild | `GtkLayoutChild` subclass for children in a `GtkOverlayLayout`. since: 4.0
PadController | `GtkPadController` is an event controller for the pads found in drawing tablets. since: 4.0
PageSetup | A `GtkPageSetup` object stores the page size, orientation and margins. since: 4.0
PageSetupUnixDialog | `GtkPageSetupUnixDialog` implements a page setup dialog for platforms which don’t provide a native page setup dialog, like Unix. since: 4.0
Paned | A widget with two panes, arranged either horizontally or vertically. since: 4.0
ParamSpecExpression | A `GParamSpec` for properties holding a `GtkExpression`. since: 4.0
PasswordEntry | `GtkPasswordEntry` is an entry that has been tailored for entering secrets. since: 4.0
PasswordEntryBuffer | A `GtkEntryBuffer` that locks the underlying memory to prevent it from being swapped to disk. since: 4.4
Picture | The `GtkPicture` widget displays a `GdkPaintable`. since: 4.0
Popover | `GtkPopover` is a bubble-like context popup. since: 4.0
PopoverMenu | `GtkPopoverMenu` is a subclass of `GtkPopover` that implements menu behavior. since: 4.0
PopoverMenuBar | `GtkPopoverMenuBar` presents a horizontal bar of items that pop up popover menus when clicked. since: 4.0
PrintContext | A `GtkPrintContext` encapsulates context information that is required when drawing pages for printing. since: 4.0
PrintDialog | A `GtkPrintDialog` object collects the arguments that are needed to present a print dialog to the user, such as a title for the dialog and whether it should be modal. since: 4.14
Printer | A `GtkPrinter` object represents a printer. since: 4.0
PrintJob | A `GtkPrintJob` object represents a job that is sent to a printer. since: 4.0
PrintOperation | `GtkPrintOperation` is the high-level, portable printing API. since: 4.0
PrintSettings | A `GtkPrintSettings` object represents the settings of a print dialog in a system-independent way. since: 4.0
PrintUnixDialog | `GtkPrintUnixDialog` implements a print dialog for platforms which don’t provide a native print dialog, like Unix. since: 4.0
ProgressBar | `GtkProgressBar` is typically used to display the progress of a long running operation. since: 4.0
PropertyExpression | A `GObject` property value in a `GtkExpression`. since: 4.0
Range | `GtkRange` is the common base class for widgets which visualize an adjustment. since: 4.0
RecentManager | `GtkRecentManager` manages and looks up recently used files. since: 4.0
Revealer | A `GtkRevealer` animates the transition of its child from invisible to visible. since: 4.0
Scale | A `GtkScale` is a slider control used to select a numeric value. since: 4.0
ScaleButton | `GtkScaleButton` provides a button which pops up a scale widget. since: 4.0
Scrollbar | The `GtkScrollbar` widget is a horizontal or vertical scrollbar. since: 4.0
ScrolledWindow | `GtkScrolledWindow` is a container that makes its child scrollable. since: 4.0
SearchBar | `GtkSearchBar` is a container made to have a search entry. since: 4.0
SearchEntry | `GtkSearchEntry` is an entry widget that has been tailored for use as a search entry. since: 4.0
SelectionFilterModel | `GtkSelectionFilterModel` is a list model that presents the selection from a `GtkSelectionModel`. since: 4.0
Separator | `GtkSeparator` is a horizontal or vertical separator widget. since: 4.0
Settings | `GtkSettings` provides a mechanism to share global settings between applications. since: 4.0
Shortcut | A `GtkShortcut` describes a keyboard shortcut. since: 4.0
ShortcutAction | `GtkShortcutAction` encodes an action that can be triggered by a keyboard shortcut. since: 4.0
ShortcutController | `GtkShortcutController` is an event controller that manages shortcuts. since: 4.0
ShortcutLabel | `GtkShortcutLabel` displays a single keyboard shortcut or gesture. since: 4.0
ShortcutsGroup | A `GtkShortcutsGroup` represents a group of related keyboard shortcuts or gestures. since: 4.0
ShortcutsSection | A `GtkShortcutsSection` collects all the keyboard shortcuts and gestures for a major application mode. since: 4.0
ShortcutsShortcut | A `GtkShortcutsShortcut` represents a single keyboard shortcut or gesture with a short text. since: 4.0
ShortcutsWindow | A `GtkShortcutsWindow` shows information about the keyboard shortcuts and gestures of an application. since: 4.0
ShortcutTrigger | `GtkShortcutTrigger` tracks how a `GtkShortcut` should be activated. since: 4.0
SignalAction | A `GtkShortcut`Action that emits a signal. since: 4.0
SignalListItemFactory | `GtkSignalListItemFactory` is a `GtkListItemFactory` that emits signals to manage listitems. since: 4.0
SingleSelection | `GtkSingleSelection` is a `GtkSelectionModel` that allows selecting a single item. since: 4.0
SizeGroup | `GtkSizeGroup` groups widgets together so they all request the same size. since: 4.0
SliceListModel | `GtkSliceListModel` is a list model that presents a slice of another model. since: 4.0
Snapshot | `GtkSnapshot` assists in creating `GskRenderNode`s for widgets. since: 4.0
Sorter | `GtkSorter` is an object to describe sorting criteria. since: 4.0
SortListModel | A `GListModel` that sorts the elements of an underlying model according to a `GtkSorter`. since: 4.0
SpinButton | A `GtkSpinButton` is an ideal way to allow the user to set the value of some attribute. since: 4.0
Spinner | A `GtkSpinner` widget displays an icon-size spinning animation. since: 4.0
Stack | `GtkStack` is a container which only shows one of its children at a time. since: 4.0
StackPage | `GtkStackPage` is an auxiliary class used by `GtkStack`. since: 4.0
StackSidebar | A `GtkStackSidebar` uses a sidebar to switch between `GtkStack` pages. since: 4.0
StackSwitcher | The `GtkStackSwitcher` shows a row of buttons to switch between `GtkStack` pages. since: 4.0
Statusbar | A `GtkStatusbar` widget is usually placed along the bottom of an application’s main `GtkWindow`. deprecated: 4.10 since: 4.0
StringFilter | `GtkStringFilter` determines whether to include items by comparing strings to a fixed search term. since: 4.0
StringList | `GtkStringList` is a list model that wraps an array of strings. since: 4.0
StringObject | `GtkStringObject` is the type of items in a `GtkStringList`. since: 4.0
StringSorter | `GtkStringSorter` is a `GtkSorter` that compares strings. since: 4.0
StyleContext | `GtkStyleContext` stores styling information affecting a widget. deprecated: 4.10 since: 4.0
Switch | `GtkSwitch` is a “light switch” that has two states: on or off. since: 4.0
Text | The `GtkText` widget is a single-line text entry widget. since: 4.0
TextBuffer | Stores text and attributes for display in a `GtkTextView`. since: 4.0
TextChildAnchor | A `GtkTextChildAnchor` is a spot in a `GtkTextBuffer` where child widgets can be “anchored”. since: 4.0
TextMark | A `GtkTextMark` is a position in a `GtkTextbuffer` that is preserved across modifications. since: 4.0
TextTag | A tag that can be applied to text contained in a `GtkTextBuffer`. since: 4.0
TextTagTable | The collection of tags in a `GtkTextBuffer` since: 4.0
TextView | A widget that displays the contents of a `GtkTextBuffer`. since: 4.0
ToggleButton | A `GtkToggleButton` is a button which remains “pressed-in” when clicked. since: 4.0
Tooltip | `GtkTooltip` is an object representing a widget tooltip. since: 4.0
TreeExpander | `GtkTreeExpander` is a widget that provides an expander for a list. since: 4.0
TreeListModel | `GtkTreeListModel` is a list model that can create child models on demand. since: 4.0
TreeListRow | `GtkTreeListRow` is used by `GtkTreeListModel` to represent items. since: 4.0
TreeListRowSorter | `GtkTreeListRowSorter` is a special-purpose sorter that will apply a given sorter to the levels in a tree. since: 4.0
TreeModelFilter | A `GtkTreeModel` which hides parts of an underlying tree model. deprecated: 4.10 since: 4.0
TreeModelSort | A GtkTreeModel which makes an underlying tree model sortable. deprecated: 4.10 since: 4.0
TreeSelection | The selection object for GtkTreeView. deprecated: 4.10 since: 4.0
TreeStore | A tree-like data structure that can be used with the `GtkTreeView`. deprecated: 4.10 since: 4.0
TreeView | A widget for displaying both trees and lists. deprecated: 4.10 since: 4.0
TreeViewColumn | A visible column in a `GtkTreeView` widget. deprecated: 4.10 since: 4.0
UriLauncher | A `GtkUriLauncher` object collects the arguments that are needed to open a uri with an application. since: 4.10
Video | `GtkVideo` is a widget to show a `GtkMediaStream` with media controls. since: 4.0
Viewport | `GtkViewport` implements scrollability for widgets that lack their own scrolling capabilities. since: 4.0
VolumeButton | `GtkVolumeButton` is a `GtkScaleButton` subclass tailored for volume control. deprecated: 4.10 since: 4.0
Widget | The base class for all widgets. since: 4.0
WidgetPaintable | `GtkWidgetPaintable` is a `GdkPaintable` that displays the contents of a widget. since: 4.0
Window | A `GtkWindow` is a toplevel window which can contain other widgets. since: 4.0
WindowControls | `GtkWindowControls` shows window frame controls. since: 4.0
WindowGroup | `GtkWindowGroup` makes group of windows behave like separate applications. since: 4.0
WindowHandle | `GtkWindowHandle` is a titlebar area widget. since: 4.0

#### Interfaces

Accessible | `GtkAccessible` is an interface for describing UI elements for Assistive Technologies. since: 4.0
AccessibleRange | This interface describes ranged controls, e.g. controls which have a single value within an allowed range and that can optionally be changed by the user. since: 4.10
AccessibleText | An interface for accessible objects containing formatted text. since: 4.14
Actionable | The `GtkActionable` interface provides a convenient way of associating widgets with actions. since: 4.0
AppChooser | `GtkAppChooser` is an interface for widgets which allow the user to choose an application. deprecated: 4.10 since: 4.0
Buildable | `GtkBuildable` allows objects to extend and customize their deserialization from ui files. since: 4.0
BuilderScope | `GtkBuilderScope` is an interface to provide language binding support to `GtkBuilder`. since: 4.0
CellEditable | Interface for widgets that can be used for editing cells. deprecated: 4.10 since: 4.0
CellLayout | An interface for packing cells. deprecated: 4.10 since: 4.0
ColorChooser | `GtkColorChooser` is an interface that is implemented by widgets for choosing colors. deprecated: 4.10 since: 4.0
ConstraintTarget | The `GtkConstraintTarget` interface is implemented by objects that can be used as source or target in `GtkConstraint`s. since: 4.0
Editable | `GtkEditable` is an interface for text editing widgets. since: 4.0
FileChooser | `GtkFileChooser` is an interface that can be implemented by file selection widgets. deprecated: 4.10 since: 4.0
FontChooser | `GtkFontChooser` is an interface that can be implemented by widgets for choosing fonts. deprecated: 4.10 since: 4.0
Native | `GtkNative` is the interface implemented by all widgets that have their own `GdkSurface`. since: 4.0
Orientable | The `GtkOrientable` interface is implemented by all widgets that can be oriented horizontally or vertically. since: 4.0
PrintOperationPreview | `GtkPrintOperationPreview` is the interface that is used to implement print preview. since: 4.0
Root | `GtkRoot` is the interface implemented by all widgets that can act as a toplevel widget. since: 4.0
Scrollable | `GtkScrollable` is an interface for widgets with native scrolling ability. since: 4.0
SectionModel | `GtkSectionModel` is an interface that adds support for sections to list models. since: 4.12
SelectionModel | `GtkSelectionModel` is an interface that add support for selection to list models. since: 4.0
ShortcutManager | The `GtkShortcutManager` interface is used to implement shortcut scopes. since: 4.0
StyleProvider | `GtkStyleProvider` is an interface for style information used by `GtkStyleContext`. since: 4.0
SymbolicPaintable | `GtkSymbolicPaintable` is an interface that support symbolic colors in paintables. since: 4.6
TreeDragDest | Interface for Drag-and-Drop destinations in `GtkTreeView`. deprecated: 4.10 since: 4.0
TreeDragSource | Interface for Drag-and-Drop destinations in `GtkTreeView`. deprecated: 4.10 since: 4.0
TreeModel | The tree interface used by GtkTreeView. deprecated: 4.10 since: 4.0
TreeSortable | The interface for sortable models used by GtkTreeView. deprecated: 4.10 since: 4.0

#### Structs

AccessibleList | A boxed type which wraps a list of references to GtkAccessible objects. since: 4.14
AccessibleTextRange | A range inside the text of an accessible object. since: 4.14
Bitset | A `GtkBitset` represents a set of unsigned integers. since: 4.0
BitsetIter | An opaque, stack-allocated struct for iterating over the elements of a `GtkBitset`. since: 4.0
Border | A struct that specifies a border around a rectangular area. since: 4.0
BuildableParseContext | An opaque context struct for `GtkBuildableParser`. since: 4.0
BuildableParser | A sub-parser for `GtkBuildable` implementations. since: 4.0
CssLocation | since: 4.0
CssSection | Defines a part of a CSS document. since: 4.0
CssStyleChange | since: 4.0
ExpressionWatch | An opaque structure representing a watched `GtkExpression`. since: 4.0
PadActionEntry | Struct defining a pad action entry. since: 4.0
PageRange | A range of pages to print. since: 4.0
PaperSize | `GtkPaperSize` handles paper sizes. since: 4.0
PrintBackend | since: 4.0
PrintSetup | A `GtkPrintSetup` is an auxiliary object for printing that allows decoupling the setup from the printing. since: 4.14
RecentData | Meta-data to be passed to `gtk_recent_manager_add_full()` when registering a recently used resource. since: 4.0
RecentInfo | `GtkRecentInfo` contains the metadata associated with an item in the recently used files list. since: 4.0
RequestedSize | Represents a request of a screen object in a given orientation. These are primarily used in container implementations when allocating a natural size for children calling. See `gtk_distribute_natural_allocation()`. since: 4.0
Requisition | A `GtkRequisition` represents the desired size of a widget. See GtkWidget’s geometry management section for more information. since: 4.0
ScrollInfo | The `GtkScrollInfo` can be used to provide more accurate data on how a scroll operation should be performed. since: 4.12
TextIter | An iterator for the contents of a `GtkTextBuffer`. since: 4.0
TreeIter | The `GtkTreeIter` is the primary structure for accessing a `GtkTreeModel`. Models are expected to put a unique integer in the `stamp` member, and put model-specific data in the three `user_data` members. deprecated: 4.10 since: 4.0
TreePath | An opaque structure representing a path to a row in a model. deprecated: 4.10 since: 4.0
TreeRowReference | A GtkTreeRowReference tracks model changes so that it always refers to the same row (a `GtkTreePath` refers to a position, not a fixed row). Create a new GtkTreeRowReference with gtk_tree_row_reference_new(). deprecated: 4.10 since: 4.0

#### Aliases

Allocation | The rectangle representing the area allocated for a widget by its parent. since: 4.0

#### Enumerations

AccessibleAnnouncementPriority | The priority of an accessibility announcement. since: 4.14
AccessibleAutocomplete | The possible values for the `GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE` accessible property. since: 4.0
AccessibleInvalidState | The possible values for the `GTK_ACCESSIBLE_STATE_INVALID` accessible state. since: 4.0
AccessiblePlatformState | The various platform states which can be queried using `gtk_accessible_get_platform_state()`. since: 4.10
AccessibleProperty | The possible accessible properties of a `GtkAccessible`. since: 4.0
AccessibleRelation | The possible accessible relations of a `GtkAccessible`. since: 4.0
AccessibleRole | The accessible role for a `GtkAccessible` implementation. since: 4.0
AccessibleSort | The possible values for the `GTK_ACCESSIBLE_PROPERTY_SORT` accessible property. since: 4.0
AccessibleState | The possible accessible states of a `GtkAccessible`. since: 4.0
AccessibleTextContentChange | The type of contents change operation. since: 4.14
AccessibleTextGranularity | The granularity for queries about the text contents of a `GtkAccessibleText` implementation. since: 4.14
AccessibleTristate | The possible values for the `GTK_ACCESSIBLE_STATE_PRESSED` accessible state. since: 4.0
Align | Controls how a widget deals with extra space in a single dimension. since: 4.0
ArrowType | Used to indicate the direction in which an arrow should point. since: 4.0
AssistantPageType | Determines the page role inside a `GtkAssistant`. since: 4.0
BaselinePosition | Baseline position in a row of widgets. since: 4.0
BorderStyle | Describes how the border of a UI element should be rendered. since: 4.0
ButtonsType | Prebuilt sets of buttons for `GtkDialog`. since: 4.0
CellRendererAccelMode | The available modes for `GtkCellRendererAccel:accel-mode`. since: 4.0
CellRendererMode | Identifies how the user can interact with a particular cell. since: 4.0
Collation | Describes how a `GtkStringSorter` turns strings into sort keys to compare them. since: 4.10
ConstraintAttribute | The widget attributes that can be used when creating a `GtkConstraint`. since: 4.0
ConstraintRelation | The relation between two terms of a constraint. since: 4.0
ConstraintStrength | The strength of a constraint, expressed as a symbolic constant. since: 4.0
ContentFit | Controls how a content should be made to fit inside an allocation. since: 4.8
CornerType | Specifies which corner a child widget should be placed in when packed into a `GtkScrolledWindow.` since: 4.0
CssParserWarning | Warnings that can occur while parsing CSS. since: 4.0
DeleteType | Passed to various keybinding signals for deleting text. since: 4.0
DirectionType | Focus movement types. since: 4.0
EditableProperties | The identifiers for `GtkEditable` properties. since: 4.0
EntryIconPosition | Specifies the side of the entry at which an icon is placed. since: 4.0
EventSequenceState | Describes the state of a `GdkEventSequence` in a `GtkGesture`. since: 4.0
FileChooserAction | Describes whether a `GtkFileChooser` is being used to open existing files or to save to a possibly new file. since: 4.0
FilterChange | Describes changes in a filter in more detail and allows objects using the filter to optimize refiltering items. since: 4.0
FilterMatch | Describes the known strictness of a filter. since: 4.0
FontLevel | The level of granularity for the font selection. since: 4.10
GraphicsOffloadEnabled | Represents the state of graphics offlodading. since: 4.14
IconSize | Built-in icon sizes. since: 4.0
IconViewDropPosition | An enum for determining where a dropped item goes. since: 4.0
ImageType | Describes the image data representation used by a `GtkImage`. since: 4.0
InputPurpose | Describes primary purpose of the input widget. since: 4.0
InscriptionOverflow | The different methods to handle text in `GtkInscription` when it doesn’t fit the available space. since: 4.8
Justification | Used for justifying the text inside a `GtkLabel` widget. since: 4.0
LevelBarMode | Describes how `GtkLevelBar` contents should be rendered. since: 4.0
License | The type of license for an application. since: 4.0
ListTabBehavior | Used to configure the focus behavior in the `GTK_DIR_TAB_FORWARD` and `GTK_DIR_TAB_BACKWARD` direction, like the `Tab` key in a `GtkListView`. since: 4.12
MessageType | The type of message being displayed in a `GtkMessageDialog`. since: 4.0
MovementStep | Passed as argument to various keybinding signals for moving the cursor position. since: 4.0
NaturalWrapMode | Options for selecting a different wrap mode for natural size requests. since: 4.6
NotebookTab | The parameter used in the action signals of `GtkNotebook`. since: 4.0
NumberUpLayout | Used to determine the layout of pages on a sheet when printing multiple pages per sheet. since: 4.0
Ordering | Describes the way two values can be compared. since: 4.0
Orientation | Represents the orientation of widgets and other objects. since: 4.0
Overflow | Defines how content overflowing a given area should be handled. since: 4.0
PackType | Represents the packing location of a children in its parent. since: 4.0
PadActionType | The type of a pad action. since: 4.0
PageOrientation | See also gtk_print_settings_set_orientation(). since: 4.0
PageSet | See also gtk_print_job_set_page_set(). since: 4.0
PanDirection | Describes the panning direction of a `GtkGesturePan`. since: 4.0
PolicyType | Determines how the size should be computed to achieve the one of the visibility mode for the scrollbars. since: 4.0
PositionType | Describes which edge of a widget a certain feature is positioned at. since: 4.0
PrintDuplex | See also gtk_print_settings_set_duplex(). since: 4.0
PrintOperationAction | Determines what action the print operation should perform. since: 4.0
PrintOperationResult | The result of a print operation. since: 4.0
PrintPages | See also `gtk_print_job_set_pages()` since: 4.0
PrintQuality | See also gtk_print_settings_set_quality(). since: 4.0
PrintStatus | The status gives a rough indication of the completion of a running print operation. since: 4.0
PropagationLimit | Describes limits of a `GtkEventController` for handling events targeting other widgets. since: 4.0
PropagationPhase | Describes the stage at which events are fed into a `GtkEventController`. since: 4.0
ResponseType | Predefined values for use as response ids in gtk_dialog_add_button(). since: 4.0
RevealerTransitionType | These enumeration values describe the possible transitions when the child of a `GtkRevealer` widget is shown or hidden. since: 4.0
ScrollablePolicy | Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation. since: 4.0
ScrollStep | Passed as argument to various keybinding signals. since: 4.0
ScrollType | Scrolling types. since: 4.0
SelectionMode | Used to control what selections users are allowed to make. since: 4.0
SensitivityType | Determines how GTK handles the sensitivity of various controls, such as combo box buttons. since: 4.0
ShortcutScope | Describes where `GtkShortcut`s added to a `GtkShortcutController` get handled. since: 4.0
ShortcutType | GtkShortcutType specifies the kind of shortcut that is being described. since: 4.0
SizeGroupMode | The mode of the size group determines the directions in which the size group affects the requested sizes of its component widgets. since: 4.0
SizeRequestMode | Specifies a preference for height-for-width or width-for-height geometry management. since: 4.0
SorterChange | Describes changes in a sorter in more detail and allows users to optimize resorting. since: 4.0
SorterOrder | Describes the type of order that a `GtkSorter` may produce. since: 4.0
SortType | Determines the direction of a sort. since: 4.0
SpinButtonUpdatePolicy | Determines whether the spin button displays values outside the adjustment bounds. since: 4.0
SpinType | The values of the GtkSpinType enumeration are used to specify the change to make in gtk_spin_button_spin(). since: 4.0
StackTransitionType | Possible transitions between pages in a `GtkStack` widget. since: 4.0
StringFilterMatchMode | Specifies how search strings are matched inside text. since: 4.0
SymbolicColor | The indexes of colors passed to symbolic color rendering, such as `Gtk.SymbolicPaintableInterface.snapshot_symbolic`. since: 4.6
SystemSetting | Values that can be passed to the `Gtk.WidgetClass.system_setting_changed` vfunc. since: 4.0
TextDirection | Reading directions for text. since: 4.0
TextExtendSelection | Granularity types that extend the text selection. Use the `GtkTextView::extend-selection` signal to customize the selection. since: 4.0
TextViewLayer | Used to reference the layers of `GtkTextView` for the purpose of customized drawing with the ::snapshot_layer vfunc. since: 4.0
TextWindowType | Used to reference the parts of `GtkTextView`. since: 4.0
TreeViewColumnSizing | The sizing method the column uses to determine its width. Please note that `GTK_TREE_VIEW_COLUMN_AUTOSIZE` are inefficient for large views, and can make columns appear choppy. since: 4.0
TreeViewDropPosition | An enum for determining where a dropped row goes. since: 4.0
TreeViewGridLines | Used to indicate which grid lines to draw in a tree view. since: 4.0
Unit | See also gtk_print_settings_set_paper_width(). since: 4.0
WrapMode | Describes a type of line wrapping. since: 4.0

#### Bitfields

ApplicationInhibitFlags | Types of user actions that may be blocked by `GtkApplication`. since: 4.0
BuilderClosureFlags | The list of flags that can be passed to gtk_builder_create_closure(). since: 4.0
CellRendererState | Tells how a cell is to be rendered. since: 4.0
DebugFlags | Flags to use with gtk_set_debug_flags(). since: 4.0
DialogFlags | Flags used to influence dialog construction. since: 4.0
EventControllerScrollFlags | Describes the behavior of a `GtkEventControllerScroll`. since: 4.0
FontChooserLevel | Specifies the granularity of font selection that is desired in a `GtkFontChooser`. since: 4.0
IconLookupFlags | Used to specify options for gtk_icon_theme_lookup_icon(). since: 4.0
InputHints | Describes hints that might be taken into account by input methods or applications. since: 4.0
ListScrollFlags | List of actions to perform when scrolling to items in a list widget. since: 4.12
PickFlags | Flags that influence the behavior of `gtk_widget_pick()`. since: 4.0
PopoverMenuFlags | Flags that affect how `GtkPopoverMenu` widgets built from a `GMenuModel` are created and displayed. since: 4.0
PrintCapabilities | Specifies which features the print dialog should offer. since: 4.0
ShortcutActionFlags | List of flags that can be passed to action activation. since: 4.0
StateFlags | Describes a widget state. since: 4.0
StyleContextPrintFlags | Flags that modify the behavior of gtk_style_context_to_string(). since: 4.0
TextSearchFlags | Flags affecting how a search is done. since: 4.0
TreeModelFlags | These flags indicate various properties of a `GtkTreeModel`. deprecated: 4.10 since: 4.0

#### Error Domains

BuilderError | Error codes that identify various errors that can occur while using `GtkBuilder`. since: 4.0
ConstraintVflParserError | Domain for VFL parsing errors. since: 4.0
CssParserError | Errors that can occur while parsing CSS. since: 4.0
DialogError | Error codes in the `GTK_DIALOG_ERROR` domain that can be returned by async dialog functions. since: 4.10
FileChooserError | These identify the various errors that can occur while calling `GtkFileChooser` functions. since: 4.0
IconThemeError | Error codes for `GtkIconTheme` operations. since: 4.0
PrintError | Error codes that identify various errors that can occur while using the GTK printing support. since: 4.0
RecentManagerError | Error codes for `GtkRecentManager` operations. since: 4.0

#### Callbacks

AssistantPageFunc | Type of callback used to calculate the next page in a `GtkAssistant`. since: 4.0
CellAllocCallback | The type of the callback functions used for iterating over the cell renderers and their allocated areas inside a `GtkCellArea`, see gtk_cell_area_foreach_alloc(). since: 4.0
CellCallback | The type of the callback functions used for iterating over the cell renderers of a `GtkCellArea`, see gtk_cell_area_foreach(). since: 4.0
CellLayoutDataFunc | A function which should set the value of `cell_layout`’s cell renderer(s) as appropriate. since: 4.0
CustomAllocateFunc | A function to be used by `GtkCustomLayout` to allocate a widget. since: 4.0
CustomFilterFunc | User function that is called to determine if the `item` should be matched. since: 4.0
CustomMeasureFunc | A function to be used by `GtkCustomLayout` to measure a widget. since: 4.0
CustomRequestModeFunc | Queries a widget for its preferred size request mode. since: 4.0
DrawingAreaDrawFunc | Whenever `drawing_area` needs to redraw, this function will be called. since: 4.0
EntryCompletionMatchFunc | A function which decides whether the row indicated by `iter` matches a given `key`, and should be displayed as a possible completion for `key`. since: 4.0
ExpressionNotify | Callback called by `gtk_expression_watch()` when the expression value changes. since: 4.0
FlowBoxCreateWidgetFunc | Called for flow boxes that are bound to a `GListModel`. since: 4.0
FlowBoxFilterFunc | A function that will be called whenever a child changes or is added. since: 4.0
FlowBoxForeachFunc | A function used by gtk_flow_box_selected_foreach(). since: 4.0
FlowBoxSortFunc | A function to compare two children to determine which should come first. since: 4.0
FontFilterFunc | The type of function that is used for deciding what fonts get shown in a `GtkFontChooser`. since: 4.0
IconViewForeachFunc | A function used by `gtk_icon_view_selected_foreach()` to map all selected rows. since: 4.0
ListBoxCreateWidgetFunc | Called for list boxes that are bound to a `GListModel` with `gtk_list_box_bind_model()` for each item that gets added to the model. since: 4.0
ListBoxFilterFunc | Will be called whenever the row changes or is added and lets you control if the row should be visible or not. since: 4.0
ListBoxForeachFunc | A function used by gtk_list_box_selected_foreach(). since: 4.0
ListBoxSortFunc | Compare two rows to determine which should be first. since: 4.0
ListBoxUpdateHeaderFunc | Whenever `row` changes or which row is before `row` changes this is called, which lets you update the header on `row`. since: 4.0
MapListModelMapFunc | User function that is called to map an `item` of the original model to an item expected by the map model. since: 4.0
MenuButtonCreatePopupFunc | User-provided callback function to create a popup for a `GtkMenuButton` on demand. since: 4.0
PageSetupDoneFunc | The type of function that is passed to gtk_print_run_page_setup_dialog_async(). since: 4.0
PrinterFunc | The type of function passed to gtk_enumerate_printers(). since: 4.0
PrintJobCompleteFunc | The type of callback that is passed to gtk_print_job_send(). since: 4.0
PrintSettingsFunc | since: 4.0
ScaleFormatValueFunc | since: 4.0
ShortcutFunc | Prototype for shortcuts based on user callbacks. since: 4.0
TextCharPredicate | The predicate function used by `gtk_text_iter_forward_find_char()` and gtk_text_iter_backward_find_char(). since: 4.0
TextTagTableForeach | A function used with gtk_text_tag_table_foreach(), to iterate over every `GtkTextTag` inside a `GtkTextTagTable`. since: 4.0
TickCallback | Callback type for adding a function to update animations. See gtk_widget_add_tick_callback(). since: 4.0
TreeCellDataFunc | A function to set the properties of a cell instead of just using the straight mapping between the cell and the model. since: 4.0
TreeIterCompareFunc | A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive integer if `a` sorts before `b`, `a` sorts with `b`, or `a` sorts after `b` respectively. since: 4.0
TreeListModelCreateModelFunc | Prototype of the function called to create new child models when `gtk_tree_list_row_set_expanded()` is called. since: 4.0
TreeModelFilterModifyFunc | A function which calculates display values from raw values in the model. It must fill `value` with the display value for the column `column` in the row indicated by `iter`. since: 4.0
TreeModelFilterVisibleFunc | A function which decides whether the row indicated by `iter` is visible. since: 4.0
TreeModelForeachFunc | Type of the callback passed to `gtk_tree_model_foreach()` to iterate over the rows in a tree model. since: 4.0
TreeSelectionForeachFunc | A function used by `gtk_tree_selection_selected_foreach()` to map all selected rows. It will be called on every selected row in the view. since: 4.0
TreeSelectionFunc | A function used by `gtk_tree_selection_set_select_function()` to filter whether or not a row may be selected. It is called whenever a row’s state might change. since: 4.0
TreeViewColumnDropFunc | Function type for determining whether `column` can be dropped in a particular spot (as determined by `prev_column` and `next_column`). In left to right locales, `prev_column` is on the left of the potential drop spot, and `next_column` is on the right. In right to left mode, this is reversed. This function should return `TRUE` if the spot is a valid drop spot. Please note that returning `TRUE` does not actually indicate that the column drop was made, but is meant only to indicate a possible drop spot to the user. since: 4.0
TreeViewMappingFunc | Function used for gtk_tree_view_map_expanded_rows(). since: 4.0
TreeViewRowSeparatorFunc | Function type for determining whether the row pointed to by `iter` should be rendered as a separator. A common way to implement this is to have a boolean column in the model, whose values the `GtkTreeViewRowSeparatorFunc` returns. since: 4.0
TreeViewSearchEqualFunc | A function used for checking whether a row in `model` matches a search key string entered by the user. Note the return value is reversed from what you would normally expect, though it has some similarity to `strcmp()` returning 0 for equal strings. since: 4.0
WidgetActionActivateFunc | The type of the callback functions used for activating actions installed with gtk_widget_class_install_action(). since: 4.0

#### Functions

accelerator_get_default_mod_mask | Gets the modifier mask. since: 4.0
accelerator_get_label | Converts an accelerator keyval and modifier mask into a string which can be used to represent the accelerator to the user. since: 4.0
accelerator_get_label_with_keycode | Converts an accelerator keyval and modifier mask into a string that can be displayed to the user. since: 4.0
accelerator_name | Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse(). since: 4.0
accelerator_name_with_keycode | Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse_with_keycode(). since: 4.0
accelerator_parse | Parses a string representing an accelerator. since: 4.0
accelerator_parse_with_keycode | Parses a string representing an accelerator. since: 4.0
accelerator_valid | Determines whether a given keyval and modifier mask constitute a valid keyboard accelerator. since: 4.0
check_version | Checks that the GTK library in use is compatible with the given version. since: 4.0
css_parser_error_quark | since: 4.0
css_parser_warning_quark | since: 4.0
disable_setlocale | Prevents `gtk_init()` and `gtk_init_check()` from automatically calling `setlocale (LC_ALL, "")`. since: 4.0
distribute_natural_allocation | Distributes `extra_space` to child `sizes` by bringing smaller children up to natural size first. since: 4.0
enumerate_printers | Calls a function for all `GtkPrinter`s. since: 4.0
get_binary_age | Returns the binary age as passed to `libtool`. since: 4.0
get_debug_flags | Returns the GTK debug flags that are currently active. since: 4.0
get_default_language | Returns the `PangoLanguage` for the default language currently in effect. since: 4.0
get_interface_age | Returns the interface age as passed to `libtool`. since: 4.0
get_locale_direction | Get the direction of the current locale. This is the expected reading direction for text and UI. since: 4.0
get_major_version | Returns the major version number of the GTK library. since: 4.0
get_micro_version | Returns the micro version number of the GTK library. since: 4.0
get_minor_version | Returns the minor version number of the GTK library. since: 4.0
hsv_to_rgb | Converts a color from HSV space to RGB. since: 4.0
init | Call this function before using any other GTK functions in your GUI applications. It will initialize everything needed to operate the toolkit. since: 4.0
init_check | This function does the same work as `gtk_init()` with only a single change: It does not terminate the program if the windowing system can’t be initialized. Instead it returns `FALSE` on failure. since: 4.0
is_initialized | Use this function to check if GTK has been initialized. since: 4.0
param_spec_expression | Creates a new `GParamSpec` instance for a property holding a `GtkExpression`. since: 4.0
print_run_page_setup_dialog | Runs a page setup dialog, letting the user modify the values from `page_setup`. If the user cancels the dialog, the returned `GtkPageSetup` is identical to the passed in `page_setup`, otherwise it contains the modifications done in the dialog. since: 4.0
print_run_page_setup_dialog_async | Runs a page setup dialog, letting the user modify the values from `page_setup`. since: 4.0
render_activity | Renders an activity indicator (such as in `GtkSpinner`). The state `GTK_STATE_FLAG_CHECKED` determines whether there is activity going on. deprecated: 4.10 since: 4.0
render_arrow | Renders an arrow pointing to `angle`. deprecated: 4.10 since: 4.0
render_background | Renders the background of an element. deprecated: 4.10 since: 4.0
render_check | Renders a checkmark (as in a `GtkCheckButton`). deprecated: 4.10 since: 4.0
render_expander | Renders an expander (as used in `GtkTreeView` and `GtkExpander`) in the area defined by `x`, `y`, `width`, `height`. The state `GTK_STATE_FLAG_CHECKED` determines whether the expander is collapsed or expanded. deprecated: 4.10 since: 4.0
render_focus | Renders a focus indicator on the rectangle determined by `x`, `y`, `width`, `height`. deprecated: 4.10 since: 4.0
render_frame | Renders a frame around the rectangle defined by `x`, `y`, `width`, `height`. deprecated: 4.10 since: 4.0
render_handle | Renders a handle (as in `GtkPaned` and `GtkWindow`’s resize grip), in the rectangle determined by `x`, `y`, `width`, `height`. deprecated: 4.10 since: 4.0
render_icon | Renders the icon in `texture` at the specified `x` and `y` coordinates. deprecated: 4.10 since: 4.0
render_layout | Renders `layout` on the coordinates `x`, `y`. deprecated: 4.10 since: 4.0
render_line | Renders a line from (x0, y0) to (x1, y1). deprecated: 4.10 since: 4.0
render_option | Renders an option mark (as in a radio button), the `GTK_STATE_FLAG_CHECKED` state will determine whether the option is on or off, and `GTK_STATE_FLAG_INCONSISTENT` whether it should be marked as undefined. deprecated: 4.10 since: 4.0
rgb_to_hsv | Converts a color from RGB space to HSV. since: 4.0
set_debug_flags | Sets the GTK debug flags. since: 4.0
show_about_dialog | A convenience function for showing an application’s about dialog. since: 4.0
show_uri | This function launches the default application for showing a given uri, or shows an error dialog if that fails. deprecated: 4.10 since: 4.0
show_uri_full | This function launches the default application for showing a given uri. deprecated: 4.10 since: 4.0
show_uri_full_finish | Finishes the `gtk_show_uri()` call and returns the result of the operation. deprecated: 4.10 since: 4.0
test_accessible_assertion_message_role | since: 4.0
test_accessible_check_property | Checks whether the accessible `property` of `accessible` is set to a specific value. since: 4.0
test_accessible_check_relation | Checks whether the accessible `relation` of `accessible` is set to a specific value. since: 4.0
test_accessible_check_state | Checks whether the accessible `state` of `accessible` is set to a specific value. since: 4.0
test_accessible_has_property | Checks whether the `GtkAccessible` has `property` set. since: 4.0
test_accessible_has_relation | Checks whether the `GtkAccessible` has `relation` set. since: 4.0
test_accessible_has_role | Checks whether the `GtkAccessible:accessible-role` of the accessible is `role`. since: 4.0
test_accessible_has_state | Checks whether the `GtkAccessible` has `state` set. since: 4.0
test_init | This function is used to initialize a GTK test program. since: 4.0
test_list_all_types | Return the type ids that have been registered after calling gtk_test_register_all_types(). since: 4.0
test_register_all_types | Force registration of all core GTK object types. since: 4.0
test_widget_wait_for_draw | Enters the main loop and waits for `widget` to be “drawn”. since: 4.0
tree_create_row_drag_content | Creates a content provider for dragging `path` from `tree_model`. deprecated: 4.10 since: 4.0
tree_get_row_drag_data | Obtains a `tree_model` and `path` from value of target type `GTK_TYPE_TREE_ROW_DATA`. deprecated: 4.10 since: 4.0
value_dup_expression | Retrieves the `GtkExpression` stored inside the given `value`, and acquires a reference to it. since: 4.0
value_get_expression | Retrieves the `GtkExpression` stored inside the given `value`. since: 4.0
value_set_expression | Stores the given `GtkExpression` inside `value`. since: 4.0
value_take_expression | Stores the given `GtkExpression` inside `value`. since: 4.0

#### Function Macros

builder_cscope_add_callback | Adds the `callback_symbol` to the scope of `builder` under its own name. since: 4.8
BUILDER_WARN_INVALID_CHILD_TYPE | This macro should be used to emit a warning about and unexpected `type` value in a `GtkBuildable` add_child implementation. since: 4.0
CELL_AREA_WARN_INVALID_CELL_PROPERTY_ID | This macro should be used to emit a standard warning about unexpected properties in `set_cell_property()` and `get_cell_property()` implementations. since: 4.0
CHECK_VERSION | Returns `TRUE` if the version of the GTK header files is the same as or newer than the passed-in version. since: 4.0
DEBUG_CHECK | since: 4.0
test_accessible_assert_property | Checks whether a `GtkAccessible` implementation has its accessible property set to the expected value, and raises an assertion if the condition is not satisfied. since: 4.0
test_accessible_assert_relation | Checks whether a `GtkAccessible` implementation has its accessible relation set to the expected value, and raises an assertion if the condition is not satisfied. since: 4.0
test_accessible_assert_role | Checks whether a `GtkAccessible` implementation has the given `role`, and raises an assertion if the condition is failed. since: 4.0
test_accessible_assert_state | Checks whether a `GtkAccessible` implementation has its accessible state set to the expected value, and raises an assertion if the condition is not satisfied. since: 4.0
VALUE_HOLDS_EXPRESSION | Evaluates to `TRUE` if `value` was initialized with `GTK_TYPE_EXPRESSION`. since: 4.0
widget_class_bind_template_callback | Binds a callback function defined in a template to the `widget_class`. since: 4.0
widget_class_bind_template_child | Binds a child widget defined in a template to the `widget_class`. since: 4.0
widget_class_bind_template_child_internal | Binds a child widget defined in a template to the `widget_class`, and also makes it available as an internal child in GtkBuilder, under the name `member_name`. since: 4.0
widget_class_bind_template_child_internal_private | Binds a child widget defined in a template to the `widget_class`, and also makes it available as an internal child in GtkBuilder, under the name `member_name`. since: 4.0
widget_class_bind_template_child_private | Binds a child widget defined in a template to the `widget_class`. since: 4.0

#### Constants

ACCESSIBLE_ATTRIBUTE_BACKGROUND | An attribute for the background color, expressed as an RGB value encoded in a string using the format: `{r8},{g8},{b8}`. since: 4.0
ACCESSIBLE_ATTRIBUTE_FAMILY | An attribute for the font family name. since: 4.0
ACCESSIBLE_ATTRIBUTE_FOREGROUND | An attribute for the foreground color, expressed as an RGB value encoded in a string using the format: `{r8},{g8},{b8}`. since: 4.0
ACCESSIBLE_ATTRIBUTE_OVERLINE | An attribute for the overline style. since: 4.0
ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE | The “none” overline value for `GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE | The “single” overline value for `GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_SIZE | An attribute for the font size, expressed in points. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH | An attribute for the font stretch type. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED | The “condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED | The “expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED | The “extra condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED | The “extra expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL | The “normal” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED | The “semi condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED | The “semi expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED | The “ultra condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED | The “ultra expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH | An attribute for strikethrough text. since: 4.0
ACCESSIBLE_ATTRIBUTE_STYLE | An attribute for the font style. since: 4.0
ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC | The “italic” style value for `GTK_ACCESSIBLE_ATTRIBUTE_STYLE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL | The “normal” style value for `GTK_ACCESSIBLE_ATTRIBUTE_STYLE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE | The “oblique” style value for `GTK_ACCESSIBLE_ATTRIBUTE_STYLE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_UNDERLINE | An attribute for the underline style. since: 4.0
ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE | The “double” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR | The “error” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE | The “none” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE | The “single” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`. since: 4.0
ACCESSIBLE_ATTRIBUTE_VARIANT | An attribute for the font variant. since: 4.0
ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS | The “all petite caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`. since: 4.0
ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS | The “all small caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`. since: 4.0
ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS | The “petite caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`. since: 4.0
ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS | The “small caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`. since: 4.0
ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS | The “title caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`. since: 4.0
ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE | The “unicase” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`. since: 4.0
ACCESSIBLE_ATTRIBUTE_WEIGHT | An attribute for the font weight. since: 4.0
ACCESSIBLE_VALUE_UNDEFINED | An undefined value. The accessible attribute is either unset, or its value is undefined. since: 4.0
BINARY_AGE | Like `gtk_get_binary_age()`, but from the headers used at application compile time, rather than from the library linked against at application run time. since: 4.0
IM_MODULE_EXTENSION_POINT_NAME | since: 4.0
INPUT_ERROR | Constant to return from a signal handler for the ::input signal in case of conversion failure. since: 4.0
INTERFACE_AGE | Like `gtk_get_interface_age()`, but from the headers used at application compile time, rather than from the library linked against at application run time. since: 4.0
INVALID_LIST_POSITION | The value used to refer to a guaranteed invalid position in a `GListModel`. since: 4.0
LEVEL_BAR_OFFSET_FULL | The name used for the stock full offset included by `GtkLevelBar`. since: 4.0
LEVEL_BAR_OFFSET_HIGH | The name used for the stock high offset included by `GtkLevelBar`. since: 4.0
LEVEL_BAR_OFFSET_LOW | The name used for the stock low offset included by `GtkLevelBar`. since: 4.0
MAJOR_VERSION | Like `gtk_get_major_version()`, but from the headers used at application compile time, rather than from the library linked against at application run time. since: 4.0
MAX_COMPOSE_LEN | since: 4.0
MEDIA_FILE_EXTENSION_POINT_NAME | since: 4.0
MICRO_VERSION | Like `gtk_get_micro_version()`, but from the headers used at application compile time, rather than from the library linked against at application run time. since: 4.0
MINOR_VERSION | Like `gtk_get_minor_version()`, but from the headers used at application compile time, rather than from the library linked against at application run time. since: 4.0
PAPER_NAME_A3 | Name for the A3 paper size. since: 4.0
PAPER_NAME_A4 | Name for the A4 paper size. since: 4.0
PAPER_NAME_A5 | Name for the A5 paper size. since: 4.0
PAPER_NAME_B5 | Name for the B5 paper size. since: 4.0
PAPER_NAME_EXECUTIVE | Name for the Executive paper size. since: 4.0
PAPER_NAME_LEGAL | Name for the Legal paper size. since: 4.0
PAPER_NAME_LETTER | Name for the Letter paper size. since: 4.0
PRINT_SETTINGS_COLLATE | since: 4.0
PRINT_SETTINGS_DEFAULT_SOURCE | since: 4.0
PRINT_SETTINGS_DITHER | since: 4.0
PRINT_SETTINGS_DUPLEX | since: 4.0
PRINT_SETTINGS_FINISHINGS | since: 4.0
PRINT_SETTINGS_MEDIA_TYPE | since: 4.0
PRINT_SETTINGS_N_COPIES | since: 4.0
PRINT_SETTINGS_NUMBER_UP | since: 4.0
PRINT_SETTINGS_NUMBER_UP_LAYOUT | since: 4.0
PRINT_SETTINGS_ORIENTATION | since: 4.0
PRINT_SETTINGS_OUTPUT_BASENAME | The key used by the “Print to file” printer to store the file name of the output without the path to the directory and the file extension. since: 4.0
PRINT_SETTINGS_OUTPUT_BIN | since: 4.0
PRINT_SETTINGS_OUTPUT_DIR | The key used by the “Print to file” printer to store the directory to which the output should be written. since: 4.0
PRINT_SETTINGS_OUTPUT_FILE_FORMAT | The key used by the “Print to file” printer to store the format of the output. The supported values are “PS” and “PDF”. since: 4.0
PRINT_SETTINGS_OUTPUT_URI | The key used by the “Print to file” printer to store the URI to which the output should be written. GTK itself supports only “file://” URIs. since: 4.0
PRINT_SETTINGS_PAGE_RANGES | since: 4.0
PRINT_SETTINGS_PAGE_SET | since: 4.0
PRINT_SETTINGS_PAPER_FORMAT | since: 4.0
PRINT_SETTINGS_PAPER_HEIGHT | since: 4.0
PRINT_SETTINGS_PAPER_WIDTH | since: 4.0
PRINT_SETTINGS_PRINT_PAGES | since: 4.0
PRINT_SETTINGS_PRINTER | since: 4.0
PRINT_SETTINGS_PRINTER_LPI | since: 4.0
PRINT_SETTINGS_QUALITY | since: 4.0
PRINT_SETTINGS_RESOLUTION | since: 4.0
PRINT_SETTINGS_RESOLUTION_X | since: 4.0
PRINT_SETTINGS_RESOLUTION_Y | since: 4.0
PRINT_SETTINGS_REVERSE | since: 4.0
PRINT_SETTINGS_SCALE | since: 4.0
PRINT_SETTINGS_USE_COLOR | since: 4.0
PRINT_SETTINGS_WIN32_DRIVER_EXTRA | since: 4.0
PRINT_SETTINGS_WIN32_DRIVER_VERSION | since: 4.0
PRIORITY_RESIZE | Use this priority for functionality related to size allocation. since: 4.0
STYLE_PROVIDER_PRIORITY_APPLICATION | A priority that can be used when adding a `GtkStyleProvider` for application-specific style information. since: 4.0
STYLE_PROVIDER_PRIORITY_FALLBACK | The priority used for default style information that is used in the absence of themes. since: 4.0
STYLE_PROVIDER_PRIORITY_SETTINGS | The priority used for style information provided via `GtkSettings`. since: 4.0
STYLE_PROVIDER_PRIORITY_THEME | The priority used for style information provided by themes. since: 4.0
STYLE_PROVIDER_PRIORITY_USER | The priority used for the style information from `$XDG_CONFIG_HOME/gtk-4.0/gtk.css`. since: 4.0
TEXT_VIEW_PRIORITY_VALIDATE | The priority at which the text view validates onscreen lines in an idle job in the background. since: 4.0
TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID | Uses the default sort function in a `GtkTreeSortable`. since: 4.0
TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID | Disables sorting in a `GtkTreeSortable`. since: 4.0