Gtk – 4.0
Description: Reference for Gtk-4.0

### Namespace

# Gtk – 4.0

The GTK toolkit

Version | 4.16.7
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
- Preparing for GTK 5
- The Broadway windowing system
- Using GTK on Apple macOS
- Using GTK with Wayland
- Using GTK on Windows
- Using GTK with X11
- Tools and Demos
- Widget Gallery
- The Node file format
- Classes Hierarchy

#### Classes

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

#### Interfaces

Accessible | `GtkAccessible` is an interface for describing UI elements for Assistive Technologies.
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.
AppChooser | `GtkAppChooser` is an interface for widgets which allow the user to choose an application. deprecated: 4.10
Buildable | `GtkBuildable` allows objects to extend and customize their deserialization from ui files.
BuilderScope | `GtkBuilderScope` is an interface to provide language binding support to `GtkBuilder`.
CellEditable | Interface for widgets that can be used for editing cells. deprecated: 4.10
CellLayout | An interface for packing cells. deprecated: 4.10
ColorChooser | `GtkColorChooser` is an interface that is implemented by widgets for choosing colors. deprecated: 4.10
ConstraintTarget | The `GtkConstraintTarget` interface is implemented by objects that can be used as source or target in `GtkConstraint`s.
Editable | `GtkEditable` is an interface for text editing widgets.
FileChooser | `GtkFileChooser` is an interface that can be implemented by file selection widgets. deprecated: 4.10
FontChooser | `GtkFontChooser` is an interface that can be implemented by widgets for choosing fonts. deprecated: 4.10
Native | `GtkNative` is the interface implemented by all widgets that have their own `GdkSurface`.
Orientable | The `GtkOrientable` interface is implemented by all widgets that can be oriented horizontally or vertically.
PrintOperationPreview | `GtkPrintOperationPreview` is the interface that is used to implement print preview.
Root | `GtkRoot` is the interface implemented by all widgets that can act as a toplevel widget.
Scrollable | `GtkScrollable` is an interface for widgets with native scrolling ability.
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.
ShortcutManager | The `GtkShortcutManager` interface is used to implement shortcut scopes.
StyleProvider | `GtkStyleProvider` is an interface for style information used by `GtkStyleContext`.
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
TreeDragSource | Interface for Drag-and-Drop destinations in `GtkTreeView`. deprecated: 4.10
TreeModel | The tree interface used by GtkTreeView. deprecated: 4.10
TreeSortable | The interface for sortable models used by GtkTreeView. deprecated: 4.10

#### 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.
BitsetIter | An opaque, stack-allocated struct for iterating over the elements of a `GtkBitset`.
Border | A struct that specifies a border around a rectangular area.
BuildableParseContext | An opaque context struct for `GtkBuildableParser`.
BuildableParser | A sub-parser for `GtkBuildable` implementations.
CssLocation | A description of a location inside a CSS stream.
CssSection | Defines a part of a CSS document.
CssStyleChange | A CSS style change.
ExpressionWatch | An opaque structure representing a watched `GtkExpression`.
PadActionEntry | Struct defining a pad action entry.
PageRange | A range of pages to print.
PaperSize | `GtkPaperSize` handles paper sizes.
PrintBackend | A print backend.
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.
RecentInfo | `GtkRecentInfo` contains the metadata associated with an item in the recently used files list.
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()`.
Requisition | A `GtkRequisition` represents the desired size of a widget. See GtkWidget’s geometry management section for more information.
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`.
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
TreePath | An opaque structure representing a path to a row in a model. deprecated: 4.10
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

#### Aliases

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

#### Enumerations

AccessibleAnnouncementPriority | The priority of an accessibility announcement. since: 4.14
AccessibleAutocomplete | The possible values for the `GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE` accessible property.
AccessibleInvalidState | The possible values for the `GTK_ACCESSIBLE_STATE_INVALID` accessible state.
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`.
AccessibleRelation | The possible accessible relations of a `GtkAccessible`.
AccessibleRole | The accessible role for a `GtkAccessible` implementation.
AccessibleSort | The possible values for the `GTK_ACCESSIBLE_PROPERTY_SORT` accessible property.
AccessibleState | The possible accessible states of a `GtkAccessible`.
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.
Align | Controls how a widget deals with extra space in a single dimension.
ArrowType | Used to indicate the direction in which an arrow should point.
AssistantPageType | Determines the page role inside a `GtkAssistant`.
BaselinePosition | Baseline position in a row of widgets.
BorderStyle | Describes how the border of a UI element should be rendered.
ButtonsType | Prebuilt sets of buttons for `GtkDialog`.
CellRendererAccelMode | The available modes for `GtkCellRendererAccel:accel-mode`.
CellRendererMode | Identifies how the user can interact with a particular cell.
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`.
ConstraintRelation | The relation between two terms of a constraint.
ConstraintStrength | The strength of a constraint, expressed as a symbolic constant.
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.`.
CssParserWarning | Warnings that can occur while parsing CSS.
DeleteType | Passed to various keybinding signals for deleting text.
DirectionType | Focus movement types.
EditableProperties | The identifiers for `GtkEditable` properties.
EntryIconPosition | Specifies the side of the entry at which an icon is placed.
EventSequenceState | Describes the state of a `GdkEventSequence` in a `GtkGesture`.
FileChooserAction | Describes whether a `GtkFileChooser` is being used to open existing files or to save to a possibly new file.
FilterChange | Describes changes in a filter in more detail and allows objects using the filter to optimize refiltering items.
FilterMatch | Describes the known strictness of a filter.
FontLevel | The level of granularity for the font selection. since: 4.10
FontRendering | Values for the `GtkSettings:gtk-font-rendering` setting that influence how GTK renders fonts. since: 4.16
GraphicsOffloadEnabled | Represents the state of graphics offloading. since: 4.14
IconSize | Built-in icon sizes.
IconViewDropPosition | An enum for determining where a dropped item goes.
ImageType | Describes the image data representation used by a `GtkImage`.
InputPurpose | Describes primary purpose of the input widget.
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.
LevelBarMode | Describes how `GtkLevelBar` contents should be rendered.
License | The type of license for an application.
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`.
MovementStep | Passed as argument to various keybinding signals for moving the cursor position.
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`.
NumberUpLayout | Used to determine the layout of pages on a sheet when printing multiple pages per sheet.
Ordering | Describes the way two values can be compared.
Orientation | Represents the orientation of widgets and other objects.
Overflow | Defines how content overflowing a given area should be handled.
PackType | Represents the packing location of a children in its parent.
PadActionType | The type of a pad action.
PageOrientation | See also gtk_print_settings_set_orientation().
PageSet | See also gtk_print_job_set_page_set().
PanDirection | Describes the panning direction of a `GtkGesturePan`.
PolicyType | Determines how the size should be computed to achieve the one of the visibility mode for the scrollbars.
PositionType | Describes which edge of a widget a certain feature is positioned at.
PrintDuplex | See also gtk_print_settings_set_duplex().
PrintOperationAction | Determines what action the print operation should perform.
PrintOperationResult | The result of a print operation.
PrintPages | See also gtk_print_job_set_pages().
PrintQuality | See also gtk_print_settings_set_quality().
PrintStatus | The status gives a rough indication of the completion of a running print operation.
PropagationLimit | Describes limits of a `GtkEventController` for handling events targeting other widgets.
PropagationPhase | Describes the stage at which events are fed into a `GtkEventController`.
ResponseType | Predefined values for use as response ids in gtk_dialog_add_button().
RevealerTransitionType | These enumeration values describe the possible transitions when the child of a `GtkRevealer` widget is shown or hidden.
ScrollablePolicy | Defines the policy to be used in a scrollable widget when updating the scrolled window adjustments in a given orientation.
ScrollStep | Passed as argument to various keybinding signals.
ScrollType | Scrolling types.
SelectionMode | Used to control what selections users are allowed to make.
SensitivityType | Determines how GTK handles the sensitivity of various controls, such as combo box buttons.
ShortcutScope | Describes where `GtkShortcut`s added to a `GtkShortcutController` get handled.
ShortcutType | GtkShortcutType specifies the kind of shortcut that is being described.
SizeGroupMode | The mode of the size group determines the directions in which the size group affects the requested sizes of its component widgets.
SizeRequestMode | Specifies a preference for height-for-width or width-for-height geometry management.
SorterChange | Describes changes in a sorter in more detail and allows users to optimize resorting.
SorterOrder | Describes the type of order that a `GtkSorter` may produce.
SortType | Determines the direction of a sort.
SpinButtonUpdatePolicy | Determines whether the spin button displays values outside the adjustment bounds.
SpinType | The values of the GtkSpinType enumeration are used to specify the change to make in gtk_spin_button_spin().
StackTransitionType | Possible transitions between pages in a `GtkStack` widget.
StringFilterMatchMode | Specifies how search strings are matched inside text.
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.
TextDirection | Reading directions for text.
TextExtendSelection | Granularity types that extend the text selection. Use the `GtkTextView::extend-selection` signal to customize the selection.
TextViewLayer | Used to reference the layers of `GtkTextView` for the purpose of customized drawing with the ::snapshot_layer vfunc.
TextWindowType | Used to reference the parts of `GtkTextView`.
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.
TreeViewDropPosition | An enum for determining where a dropped row goes.
TreeViewGridLines | Used to indicate which grid lines to draw in a tree view.
Unit | See also gtk_print_settings_set_paper_width().
WrapMode | Describes a type of line wrapping.

#### Bitfields

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

#### Error Domains

BuilderError | Error codes that identify various errors that can occur while using `GtkBuilder`.
ConstraintVflParserError | Domain for VFL parsing errors.
CssParserError | Errors that can occur while parsing CSS.
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.
IconThemeError | Error codes for `GtkIconTheme` operations.
PrintError | Error codes that identify various errors that can occur while using the GTK printing support.
RecentManagerError | Error codes for `GtkRecentManager` operations.

#### Callbacks

AssistantPageFunc | Type of callback used to calculate the next page in a `GtkAssistant`.
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().
CellCallback | The type of the callback functions used for iterating over the cell renderers of a `GtkCellArea`, see gtk_cell_area_foreach().
CellLayoutDataFunc | A function which should set the value of `cell_layout`’s cell renderer(s) as appropriate.
CustomAllocateFunc | A function to be used by `GtkCustomLayout` to allocate a widget.
CustomFilterFunc | User function that is called to determine if the `item` should be matched.
CustomMeasureFunc | A function to be used by `GtkCustomLayout` to measure a widget.
CustomRequestModeFunc | Queries a widget for its preferred size request mode.
DrawingAreaDrawFunc | Whenever `drawing_area` needs to redraw, this function will be called.
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`.
ExpressionNotify | Callback called by `gtk_expression_watch()` when the expression value changes.
FlowBoxCreateWidgetFunc | Called for flow boxes that are bound to a `GListModel`.
FlowBoxFilterFunc | A function that will be called whenever a child changes or is added.
FlowBoxForeachFunc | A function used by gtk_flow_box_selected_foreach().
FlowBoxSortFunc | A function to compare two children to determine which should come first.
FontFilterFunc | The type of function that is used for deciding what fonts get shown in a `GtkFontChooser`.
IconViewForeachFunc | A function used by `gtk_icon_view_selected_foreach()` to map all selected rows.
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.
ListBoxFilterFunc | Will be called whenever the row changes or is added and lets you control if the row should be visible or not.
ListBoxForeachFunc | A function used by gtk_list_box_selected_foreach().
ListBoxSortFunc | Compare two rows to determine which should be first.
ListBoxUpdateHeaderFunc | Whenever `row` changes or which row is before `row` changes this is called, which lets you update the header on `row`.
MapListModelMapFunc | User function that is called to map an `item` of the original model to an item expected by the map model.
MenuButtonCreatePopupFunc | User-provided callback function to create a popup for a `GtkMenuButton` on demand.
PageSetupDoneFunc | The type of function that is passed to gtk_print_run_page_setup_dialog_async().
PrinterFunc | The type of function passed to gtk_enumerate_printers().
PrintJobCompleteFunc | The type of callback that is passed to gtk_print_job_send().
PrintSettingsFunc | Function called by `gtk_print_settings_foreach()` on every key/value pair inside a `GtkPrintSettings`.
ScaleFormatValueFunc | Function that formats the value of a scale.
ShortcutFunc | Prototype for shortcuts based on user callbacks.
TextBufferCommitNotify | A notification callback used by `gtk_text_buffer_add_commit_notify()`. since: 4.16
TextCharPredicate | The predicate function used by `gtk_text_iter_forward_find_char()` and gtk_text_iter_backward_find_char().
TextTagTableForeach | A function used with gtk_text_tag_table_foreach(), to iterate over every `GtkTextTag` inside a `GtkTextTagTable`.
TickCallback | Callback type for adding a function to update animations. See gtk_widget_add_tick_callback().
TreeCellDataFunc | A function to set the properties of a cell instead of just using the straight mapping between the cell and the model.
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.
TreeListModelCreateModelFunc | Prototype of the function called to create new child models when `gtk_tree_list_row_set_expanded()` is called.
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`.
TreeModelFilterVisibleFunc | A function which decides whether the row indicated by `iter` is visible.
TreeModelForeachFunc | Type of the callback passed to `gtk_tree_model_foreach()` to iterate over the rows in a tree model.
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.
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.
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.
TreeViewMappingFunc | Function used for gtk_tree_view_map_expanded_rows().
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.
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.
WidgetActionActivateFunc | The type of the callback functions used for activating actions installed with gtk_widget_class_install_action().

#### Functions

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

#### Function Macros

builder_cscope_add_callback | Adds the `callback` 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.
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.
CHECK_VERSION | Returns `TRUE` if the version of the GTK header files is the same as or newer than the passed-in version.
DEBUG_CHECK | Whether the `type` debug flag is set.
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.
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.
test_accessible_assert_role | Checks whether a `GtkAccessible` implementation has the given `role`, and raises an assertion if the condition is failed.
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.
VALUE_HOLDS_EXPRESSION | Evaluates to `TRUE` if `value` was initialized with `GTK_TYPE_EXPRESSION`.
widget_class_bind_template_callback | Binds a callback function defined in a template to the `widget_class`.
widget_class_bind_template_child | Binds a child widget defined in a template to the `widget_class`.
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`.
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`.
widget_class_bind_template_child_private | Binds a child widget defined in a template to the `widget_class`.

#### 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}`.
ACCESSIBLE_ATTRIBUTE_FAMILY | An attribute for the font family name.
ACCESSIBLE_ATTRIBUTE_FOREGROUND | An attribute for the foreground color, expressed as an RGB value encoded in a string using the format: `{r8},{g8},{b8}`.
ACCESSIBLE_ATTRIBUTE_OVERLINE | An attribute for the overline style.
ACCESSIBLE_ATTRIBUTE_OVERLINE_NONE | The “none” overline value for `GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE`.
ACCESSIBLE_ATTRIBUTE_OVERLINE_SINGLE | The “single” overline value for `GTK_ACCESSIBLE_ATTRIBUTE_OVERLINE`.
ACCESSIBLE_ATTRIBUTE_SIZE | An attribute for the font size, expressed in points.
ACCESSIBLE_ATTRIBUTE_STRETCH | An attribute for the font stretch type.
ACCESSIBLE_ATTRIBUTE_STRETCH_CONDENSED | The “condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_EXPANDED | The “expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_CONDENSED | The “extra condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_EXTRA_EXPANDED | The “extra expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_NORMAL | The “normal” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_CONDENSED | The “semi condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_SEMI_EXPANDED | The “semi expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_CONDENSED | The “ultra condensed” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRETCH_ULTRA_EXPANDED | The “ultra expanded” stretch value for `GTK_ACCESSIBLE_ATTRIBUTE_STRETCH`.
ACCESSIBLE_ATTRIBUTE_STRIKETHROUGH | An attribute for strikethrough text.
ACCESSIBLE_ATTRIBUTE_STYLE | An attribute for the font style.
ACCESSIBLE_ATTRIBUTE_STYLE_ITALIC | The “italic” style value for `GTK_ACCESSIBLE_ATTRIBUTE_STYLE`.
ACCESSIBLE_ATTRIBUTE_STYLE_NORMAL | The “normal” style value for `GTK_ACCESSIBLE_ATTRIBUTE_STYLE`.
ACCESSIBLE_ATTRIBUTE_STYLE_OBLIQUE | The “oblique” style value for `GTK_ACCESSIBLE_ATTRIBUTE_STYLE`.
ACCESSIBLE_ATTRIBUTE_UNDERLINE | An attribute for the underline style.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_DOUBLE | The “double” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_ERROR | The “error” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_NONE | The “none” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`.
ACCESSIBLE_ATTRIBUTE_UNDERLINE_SINGLE | The “single” underline value for `GTK_ACCESSIBLE_ATTRIBUTE_UNDERLINE`.
ACCESSIBLE_ATTRIBUTE_VARIANT | An attribute for the font variant.
ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_PETITE_CAPS | The “all petite caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`.
ACCESSIBLE_ATTRIBUTE_VARIANT_ALL_SMALL_CAPS | The “all small caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`.
ACCESSIBLE_ATTRIBUTE_VARIANT_PETITE_CAPS | The “petite caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`.
ACCESSIBLE_ATTRIBUTE_VARIANT_SMALL_CAPS | The “small caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`.
ACCESSIBLE_ATTRIBUTE_VARIANT_TITLE_CAPS | The “title caps” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`.
ACCESSIBLE_ATTRIBUTE_VARIANT_UNICASE | The “unicase” variant value for `GTK_ACCESSIBLE_ATTRIBUTE_VARIANT`.
ACCESSIBLE_ATTRIBUTE_WEIGHT | An attribute for the font weight.
ACCESSIBLE_VALUE_UNDEFINED | An undefined value. The accessible attribute is either unset, or its value is undefined.
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.
IM_MODULE_EXTENSION_POINT_NAME | The default name of the extension point.
INPUT_ERROR | Constant to return from a signal handler for the ::input signal in case of conversion failure.
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.
INVALID_LIST_POSITION | The value used to refer to a guaranteed invalid position in a `GListModel`.
LEVEL_BAR_OFFSET_FULL | The name used for the stock full offset included by `GtkLevelBar`.
LEVEL_BAR_OFFSET_HIGH | The name used for the stock high offset included by `GtkLevelBar`.
LEVEL_BAR_OFFSET_LOW | The name used for the stock low offset included by `GtkLevelBar`.
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.
MAX_COMPOSE_LEN | Evaluates to the maximum length of a compose sequence.
MEDIA_FILE_EXTENSION_POINT_NAME | The default extension point name for media file.
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.
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.
PAPER_NAME_A3 | Name for the A3 paper size.
PAPER_NAME_A4 | Name for the A4 paper size.
PAPER_NAME_A5 | Name for the A5 paper size.
PAPER_NAME_B5 | Name for the B5 paper size.
PAPER_NAME_EXECUTIVE | Name for the Executive paper size.
PAPER_NAME_LEGAL | Name for the Legal paper size.
PAPER_NAME_LETTER | Name for the Letter paper size.
PRINT_SETTINGS_COLLATE | The key used by the “Print to file” printer to store whether to collate the printed pages.
PRINT_SETTINGS_DEFAULT_SOURCE | The key used by the “Print to file” printer to store the default source.
PRINT_SETTINGS_DITHER | The key used by the “Print to file” printer to store the dither used.
PRINT_SETTINGS_DUPLEX | The key used by the “Print to file” printer to store whether to print the output in duplex.
PRINT_SETTINGS_FINISHINGS | The key used by the “Print to file” printer to store the finishings.
PRINT_SETTINGS_MEDIA_TYPE | The key used by the “Print to file” printer to store the media type.
PRINT_SETTINGS_N_COPIES | The key used by the “Print to file” printer to store the number of copies.
PRINT_SETTINGS_NUMBER_UP | The key used by the “Print to file” printer to store the number of pages per sheet.
PRINT_SETTINGS_NUMBER_UP_LAYOUT | The key used by the “Print to file” printer to store the number of pages per sheet in number-up mode.
PRINT_SETTINGS_ORIENTATION | The key used by the “Print to file” printer to store the orientation.
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.
PRINT_SETTINGS_OUTPUT_BIN | The key used by the “Print to file” printer to store the output bin.
PRINT_SETTINGS_OUTPUT_DIR | The key used by the “Print to file” printer to store the directory to which the output should be written.
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”.
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.
PRINT_SETTINGS_PAGE_RANGES | The key used by the “Print to file” printer to store the array of page ranges to print.
PRINT_SETTINGS_PAGE_SET | The key used by the “Print to file” printer to store the set of pages to print.
PRINT_SETTINGS_PAPER_FORMAT | The key used by the “Print to file” printer to store the page format.
PRINT_SETTINGS_PAPER_HEIGHT | The key used by the “Print to file” printer to store the page height.
PRINT_SETTINGS_PAPER_WIDTH | The key used by the “Print to file” printer to store the paper width.
PRINT_SETTINGS_PRINT_PAGES | The key used by the “Print to file” printer to store which pages to print.
PRINT_SETTINGS_PRINTER | The key used by the “Print to file” printer to store the printer name.
PRINT_SETTINGS_PRINTER_LPI | The key used by the “Print to file” printer to store the resolution in lines per inch.
PRINT_SETTINGS_QUALITY | The key used by the “Print to file” printer to store the printing quality.
PRINT_SETTINGS_RESOLUTION | The key used by the “Print to file” printer to store the resolution in DPI.
PRINT_SETTINGS_RESOLUTION_X | The key used by the “Print to file” printer to store the horizontal resolution in DPI.
PRINT_SETTINGS_RESOLUTION_Y | The key used by the “Print to file” printer to store the vertical resolution in DPI.
PRINT_SETTINGS_REVERSE | The key used by the “Print to file” printer to store whether to reverse the order of the printed pages.
PRINT_SETTINGS_SCALE | The key used by the “Print to file” printer to store the scale.
PRINT_SETTINGS_USE_COLOR | The key used by the “Print to file” printer to store whether to print with colors.
PRINT_SETTINGS_WIN32_DRIVER_EXTRA | The key used by the “Print to file” printer to store 32-bit Windows extra driver.
PRINT_SETTINGS_WIN32_DRIVER_VERSION | The key used by the “Print to file” printer to store the 32-bit Windows driver version.
PRIORITY_RESIZE | Use this priority for functionality related to size allocation.
STYLE_PROVIDER_PRIORITY_APPLICATION | A priority that can be used when adding a `GtkStyleProvider` for application-specific style information.
STYLE_PROVIDER_PRIORITY_FALLBACK | The priority used for default style information that is used in the absence of themes.
STYLE_PROVIDER_PRIORITY_SETTINGS | The priority used for style information provided via `GtkSettings`.
STYLE_PROVIDER_PRIORITY_THEME | The priority used for style information provided by themes.
STYLE_PROVIDER_PRIORITY_USER | The priority used for the style information from `$XDG_CONFIG_HOME/gtk-4.0/gtk.css`.
TEXT_VIEW_PRIORITY_VALIDATE | The priority at which the text view validates onscreen lines in an idle job in the background.
TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID | Uses the default sort function in a `GtkTreeSortable`.
TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID | Disables sorting in a `GtkTreeSortable`.