Namespace

Gtk – 4.0

The GTK toolkit

Version4.3.2
AuthorsGTK Development Team
LicenseLGPL-2.1-or-later
Websitehttps://www.gtk.org
Sourcehttps://gitlab.gnome.org/GNOME/gtk/

Build

C headersgtk/gtk.h
pkg-config filesgtk4

Dependencies

GObject The base type system library
Browse documentation
Graphene A thin layer of mathematical types for 3D libraries
Browse documentation
Pango Text shaping and rendering
Browse documentation
GDK The GTK windowing system abstraction
Browse documentation
GSK The GTK rendering abstraction
Browse documentation

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.

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.

AppChooserDialog

GtkAppChooserDialog shows a GtkAppChooserWidget inside a GtkDialog.

AppChooserWidget

GtkAppChooserWidget is a widget for selecting applications.

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.

AssistantPage

GtkAssistantPage is an auxiliary object used by `GtkAssistant.

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 GtkCellRenderers.

CellAreaBox

A cell area that renders GtkCellRenderers into a row or a column.

CellAreaContext

Stores geometrical information for a series of rows in a GtkCellArea.

CellRenderer

An object for rendering a single cell.

CellRendererAccel

Renders a keyboard accelerator in a cell.

CellRendererCombo

Renders a combobox in a cell.

CellRendererPixbuf

Renders a pixbuf in a cell.

CellRendererProgress

Renders numbers as progress bars.

CellRendererSpin

Renders a spin button in a cell.

CellRendererSpinner

Renders a spinning animation in a cell.

CellRendererText

Renders text in a cell.

CellRendererToggle

Renders a toggle button in a cell.

CellView

A widget displaying a single row of a GtkTreeModel.

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.

ColorChooserDialog

A dialog for choosing a color.

ColorChooserWidget

The GtkColorChooserWidget widget lets the user select a color.

ColumnView

GtkColumnView presents a large dynamic list of items using multiple columns with headers.

ColumnViewColumn

GtkColumnViewColumn represents the columns being added to GtkColumnView.

ComboBox

A GtkComboBox is a widget that allows the user to choose from a list of valid choices.

ComboBoxText

A GtkComboBoxText is a simple variant of GtkComboBox for text-only use cases.

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.

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.

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.

FileChooserNative

GtkFileChooserNative is an abstraction of a dialog suitable for use with “File Open” or “File Save as” commands.

FileChooserWidget

GtkFileChooserWidget is a widget for choosing files.

FileFilter

GtkFileFilter filters files by name or mime type.

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.

FontChooserDialog

The GtkFontChooserDialog widget is a dialog for selecting a font.

FontChooserWidget

The GtkFontChooserWidget widget lets the user select a font.

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.

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.

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 input method supporting multiple, switchable input methods.

InfoBar

GtkInfoBar can be show messages to the user without a dialog.

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.

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.

ListView

GtkListView presents a large dynamic list of items.

LockButton

GtkLockButton is a widget to obtain and revoke authorizations needed to operate the controls.

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.

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

GtkPaned has 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.

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.

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 GtkShortcutAction that emits a signal.

SignalListItemFactory

GtkSignalListItemFactory is a GtkListItemFactory that emits signals to 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 GskRenderNodes 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.

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.

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.

TreeModelSort

A GtkTreeModel which makes an underlying tree model sortable.

TreeSelection

The selection object for GtkTreeView.

TreeStore

A tree-like data structure that can be used with the GtkTreeView.

TreeView

A widget for displaying both trees and lists.

TreeViewColumn

A visible column in a GtkTreeView widget.

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.

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.

Actionable

The GtkActionable interface provides a convenient way of asscociating widgets with actions.

AppChooser

GtkAppChooser is an interface for widgets which allow the user to choose an application.

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.

CellLayout

An interface for packing cells.

ColorChooser

GtkColorChooser is an interface that is implemented by widgets for choosing colors.

ConstraintTarget

The GtkConstraintTarget interface is implemented by objects that can be used as source or target in GtkConstraints.

Editable

GtkEditable is an interface for text editing widgets.

FileChooser

GtkFileChooser is an interface that can be implemented by file selection widgets.

FontChooser

GtkFontChooser is an interface that can be implemented by widgets for choosing fonts.

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.

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.

TreeDragDest

Interface for Drag-and-Drop destinations in GtkTreeView.

TreeDragSource

Interface for Drag-and-Drop destinations in GtkTreeView.

TreeModel

The tree interface used by GtkTreeView.

TreeSortable

The interface for sortable models used by GtkTreeView.

Structs

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

Represents a location in a file or other source of data parsed by the CSS engine.

CssSection

Defines a part of a CSS document.

CssStyleChange
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
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][geometry-management] for more information.

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.

TreePath

An opaque structure representing a path to a row in a model.

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().

Aliases

Allocation

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

Enumerations

AccessibleAutocomplete

The possible values for the GTK_ACCESSIBLE_PROPERTY_AUTOCOMPLETE accessible property.

AccessibleInvalidState

The possible values for the GTK_ACCESSIBLE_STATE_INVALID accessible state.

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.

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

Determines if the edited accelerators are GTK accelerators. If they are, consumed modifiers are suppressed, only accelerators accepted by GTK are allowed, and the accelerators are rendered in the same way as they are in menus.

CellRendererMode

Identifies how the user can interact with a particular cell.

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.

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
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.

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.

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.

MessageType

The type of message being displayed in a GtkMessageDialog.

MovementStep

Passed as argument to various keybinding signals for moving the cursor position.

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 GtkShortcuts 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.

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.

PickFlags

Flags that influence the behavior of gtk_widget_pick().

PopoverMenuFlags

Flags that affect how popover menus are created from a menu model.

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().

TextSearchFlags

Flags affecting how a search is done.

TreeModelFlags

These flags indicate various properties of a GtkTreeModel.

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.

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
ScaleFormatValueFunc
ShortcutFunc

Prototype for shortcuts based on user callbacks.

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
css_parser_warning_quark
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 GtkPrinters.

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 and parses some standard command line options.

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 with gtk_init() or gtk_init_check().

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.

render_arrow

Renders an arrow pointing to angle.

render_background

Renders the background of an element.

render_check

Renders a checkmark (as in a GtkCheckButton).

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.

render_focus

Renders a focus indicator on the rectangle determined by x, y, width, height.

render_frame

Renders a frame around the rectangle defined by x, y, width, height.

render_handle

Renders a handle (as in GtkPaned and GtkWindow’s resize grip), in the rectangle determined by x, y, width, height.

render_icon

Renders the icon in texture at the specified x and y coordinates.

render_layout

Renders layout on the coordinates x, y.

render_line

Renders a line from (x0, y0) to (x1, y1).

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.

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.

show_uri_full

This function launches the default application for showing a given uri.

show_uri_full_finish

Finishes the gtk_show_uri() call and returns the result of the operation.

test_accessible_assertion_message_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.

tree_get_row_drag_data

Obtains a tree_model and path from value of target type GTK_TYPE_TREE_ROW_DATA.

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_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
NOTE
test_accessible_assert_role

Checks whether a GtkAccessible implementation has the given role, and raises an assertion if the condition is failed.

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_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
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
MEDIA_FILE_EXTENSION_POINT_NAME
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
PRINT_SETTINGS_DEFAULT_SOURCE
PRINT_SETTINGS_DITHER
PRINT_SETTINGS_DUPLEX
PRINT_SETTINGS_FINISHINGS
PRINT_SETTINGS_MEDIA_TYPE
PRINT_SETTINGS_N_COPIES
PRINT_SETTINGS_NUMBER_UP
PRINT_SETTINGS_NUMBER_UP_LAYOUT
PRINT_SETTINGS_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
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
PRINT_SETTINGS_PAGE_SET
PRINT_SETTINGS_PAPER_FORMAT
PRINT_SETTINGS_PAPER_HEIGHT
PRINT_SETTINGS_PAPER_WIDTH
PRINT_SETTINGS_PRINT_PAGES
PRINT_SETTINGS_PRINTER
PRINT_SETTINGS_PRINTER_LPI
PRINT_SETTINGS_QUALITY
PRINT_SETTINGS_RESOLUTION
PRINT_SETTINGS_RESOLUTION_X
PRINT_SETTINGS_RESOLUTION_Y
PRINT_SETTINGS_REVERSE
PRINT_SETTINGS_SCALE
PRINT_SETTINGS_USE_COLOR
PRINT_SETTINGS_WIN32_DRIVER_EXTRA
PRINT_SETTINGS_WIN32_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.